题目描述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 解析 需要想到异或运算,两个相同的数的异或等于零,那么将数组中所有的元素进行异或,最后得到的就是只出现一次的数。 public int singleNumber(int[] nums) {int res = nums[0];for(int i = 1; i < nums.length; i++) {res = res ^ nums[i];}return res;}