【异或】Leetcode 136. 只出现一次的数字
- 解法1 只需要全部异或一下,剩下的就是剩下的元素
---------------🎈🎈题目链接 136. 只出现一次的数字🎈🎈-------------------
解法1 只需要全部异或一下,剩下的就是剩下的元素
时间复杂度O(N)
空间复杂度O(1)
异或性质: 只需要全部异或一下,剩下的就是剩下的元素
1️⃣a⊕0= a
2️⃣a⊕b⊕a = b⊕a⊕a = b⊕(a⊕a) = b⊕0= b
class Solution {public int singleNumber(int[] nums) {// 根据异或的性质:// a⊕0= a// a⊕b⊕a = b⊕a⊕a = b⊕(a⊕a) = b⊕0= b // 只需要全部异或一下,剩下的就是剩下的元素int single = 0;for(int num: nums){single ^=num;}return single;}
}