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;
}
位运算这个东西自从我学编程以来就没搞懂过…
本文分享了如何使用位运算技巧解决LeetCode中的一道经典初级题目——寻找只出现一次的数字。两种不同的解法对比,包括排序+双指针和位操作,帮助理解位运算在查找唯一元素的应用。
305

被折叠的 条评论
为什么被折叠?



