LeetCode 136 _ 位运算
1. 题目描述
https://leetcode-cn.com/problems/single-number/
2. 代码
1 class Solution: 2 def singleNumber(self, nums: List[int]) -> int: 3 a = 0 4 for i in nums: 5 a ^= i 6 return a
思路:数组中的全部元素的异或运算结果即为数组中只出现一次的数字.
异或运算有以下三个性质:
1 任何数和0做异或运算, 结果仍然是原来的数.
2 任何数和其自身做异或运算, 结果是0.
3 异或运算满足交换律和结合律.
2 任何数和其自身做异或运算, 结果是0.
3 异或运算满足交换律和结合律.
来源:力扣(LeetCode)