标签:
一个数组中除了一个数字出现过一次外,其余的数字都出现了两次,找出那个只出现一次的数字。
注意点:
例子:
输入: nums = [1, 2, 3, 4, 3, 2, 1]
输出: 4
非常常见的一道算法题,将所有数字进行异或操作即可。对于异或操作明确以下三点:
所以对所有数字进行异或操作后剩下的就是那个只出现一次的数字。
class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
result = nums[0]
for i in nums[1:]:
result ^= i
return result
if __name__ == "__main__":
assert Solution().singleNumber([1, 2, 3, 4, 3, 2, 1]) == 4
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
标签:
原文地址:http://blog.csdn.net/u013291394/article/details/51298527