Loading

136. 只出现一次的数字

题目

代码

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int temp=0;
        for(auto i:nums)
        {
            temp^=i;
        }
        return temp;
        //每个数字和自己异或的结果为0,所以唯一的一个数字会被留下来
    }
};

思路

只需要知道一个原理,异或(两个数字不同则为1)

因此,如果两个重复的数字 1101 与1101异或则会为0。

posted @ 2018-09-13 11:01  李正浩  阅读(113)  评论(0编辑  收藏  举报