问题描述:
Given an array of integers, every element appears three times except for one. Find that single one
我的解决思路:
数组中的每个元素都出现三次,除了某个数,这里的这个数可能出现一次也可能出现两次,所以在后面的异或操作中应该写成(nums[i]^nums[i+2])!=0。
java代码:
public class Solution {
public int singleNumber(int[] nums) {
Arrays.sort(nums);
int length = nums.length;
for(int i=0;i<length-1;i+=3)
if((nums[i]^nums[i+2])!=0)
return nums[i];
return nums[length-1];
}
}
关于Single Number I的相关问题可以参考: