题目描述:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例1:
输入:[2,2,1]
输出:1
示例2:
输入:[4,1,2,1,2]
输出:4
解题思路:
刚开始是这样想的,先进行排序,然后我们两个一组,如果这两个数字一样,则开始下一组。如果不一样,那么第一个就是我们要找的元素。我们这组元素是奇数个,所以如果前面的都是相同的,那最后剩下的这个元素就是我们要找的元素。
代码:
|
|
提交后发现我这个代码运行需要9ms,然后看了前面的代码,发现了一个很好的点:利用异或操作。(两个数字异或,相同得0,不同得1)。
代码如下:
|
|
是不是很简洁,而且速度也比我的快(1ms)~~~