题目描述
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
class Solution {public int singleNumber(int[] nums) {int x = 0;for(int num: nums){x ^= num;}return x;}
}
小结:技巧题真不愧是技巧题,利用异或操作,两个相同的数异或后为0,异或操作满足交换律