https://leetcode-cn.com/problems/single-number/

我的解决方案:

class Solution {
    public int singleNumber(int[] nums) {
    	int res = 0;
    	boolean flag = false;
    	int len = nums.length; 
        for(int i=0;i<len;i++) {
        	flag = true;
        	for(int j=0;j<nums.length;j++) {
        		if(j!=i&&nums[i]==nums[j]) {
        			flag = false;
        			break;
        		}
        	}
        	if(flag) {
        		res = nums[i];
        		break;
        	}
        }
        return res;
    }
}

参考了提交记录中耗时最短的代码,因为只有一个数字是单独的,所以我们可以利用异或运算的特性将所有元素进行异或,最后的结果就是只出现了一次的数字

class Solution {
    public int singleNumber(int[] nums) {
    	int res = 0;
        int len = nums.length;
        for(int i=0;i<len;i++) {
        	res = res ^ nums[i];
        }
        return res;
    }
}