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;
}
位运算这个东西自从我学编程以来就没搞懂过…