136. 只出现一次的数字
题目链接 | 136. 只出现一次的数字 |
---|---|
思路 | 位运算-异或的性质 |
题解链接 | O(n) 一次遍历,附题单!(Python/Java/C++/Go/JS/Rust) |
关键点 | \(a \oplus a = 0\) |
时间复杂度 | \(O(n)\) |
空间复杂度 | \(O(1)\) |
代码实现:
class Solution:
def singleNumber(self, nums: List[int]) -> int:
answer = 0
for num in nums:
answer ^= num
return answer
代码实现(标准库):
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return reduce(xor, nums)