LeetCode

it2024-11-02  6

题目链接

https://leetcode-cn.com/problems/single-number/

解题思路

异或运算

任何数和0做异或运算,结果仍然是原来的数,即a⊕0 = a

任何数和自身做异或运算,结果是0,a⊕a=0

异或运算满足交换律和结合律

显然,只要对数组中的元素做一次异或运算,最终结果就是数组中只出现一次的数字

AC代码

class Solution { public int singleNumber(int[] nums) { int ans = nums[0]; for(int i = 1; i< nums.length; i++){ ans ^= nums[i]; } return ans; } }
最新回复(0)