题目分析:找出一串数字中只出现一次的数字。有很多种方法,比如先排序,再22比较,不同的就是只出现一次的;还有用该数组的和的2被减去该数组的和,得到的就是那个数字,我选择的方法是异或,异或有交换律,因为只有一个数字是出现一次,其他都是2次,两个相同的数异或是0且,剩下的数字和0异或则为自身。
C++:
int singleNumber(vector<int>& nums) {
int num = 0;
for(int x : nums)
num ^= x;
return num;
}
Python:
def singleNumber(self, nums: List[int]) -> int:
num = 0
for x in nums:
num ^= x
return num