关闭

Middle-题目1:136. Single Number

104人阅读 评论(0) 收藏 举报
分类:

题目原文:
Given an array of integers, every element appears twice except for one. Find that single one.
题目大意:
给出一个数组,除了一个元素出现一遍以外,所有元素都出现了两遍。找到这个单个的元素。
题目分析:
把所有元素都按位异或起来,最终的异或值就是那个单独的元素。
原因:因为1⊕1=0⊕0=0,1⊕0=0⊕1=1,所以两个相同的数异或起来必为0,而0异或任何数都是它本身。
源码:(language:c)

public class Solution {
    public int singleNumber(int[] nums) {
        int single=0;
        for(int i=0;i<nums.length;i++)
            single=single^nums[i];
        return single;
    }
}

成绩:
1ms,38.79%,众数1ms,61.21%

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:63572次
    • 积分:3275
    • 等级:
    • 排名:第10731名
    • 原创:270篇
    • 转载:53篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论