只出现一次的数字II int singleNumber(int* nums, int numsSize){ int i= 0; int one= 0; int two= 0; for(i=0;i<numsSize;i++){ one=~two&(one^nums[i]); two=~one&(two^nums[i]); } return iOne; } 题中要求尽量不使用额外的 空间,并且还要求是线性的时间复杂度,所以要考虑位运算。 不过这道题还是很有难度。积累一下吧。