leetcode初级算法4.只出现一次的数字
仅为个人刷题记录,不提供解题思路
题解与收获
我的解法:
public static int singleNumber(int[] nums) {
if(nums.length == 1){
return nums[0];
}
Arrays.sort(nums);
int slow = 0;
int fast = 1;
while(fast < nums.length){
if(nums[slow] == nums[fast]){
slow +=2;
if(slow == nums.length-1){
return nums[slow];
}
else{
fast +=2;
}
}
else{
return nums[slow];
}
}
return nums[slow];
}
官方题解:
public int singleNumber(int[] nums) {
int single = 0;
for (int num : nums) {
single ^= num;
}
return single;
}
位运算这个东西自从我学编程以来就没搞懂过…