这题考察的是基本的位运算。位运算作为程序员必备的基础知识,没有理由忘记。 本题涉及到的知识点是异或运算。
非常简洁的一版代码:
class Solution: def singleNumber(self, nums: List[int]) -> int: return reduce(lambda a, b: a ^ b, nums)
这版代码里面使用了多个常用的Python函数。一个一个来分析:
reduce()
函数reduce(function, iterable[, initializer])
函数接受两个参数,分别是function
和 iterable[]
。第二个 代表需要处理的数据集合,第一个参数代表用什么函数处理。lambda a,b : a^b
这个函数的入参是a,b
,返回的结果就是a^b