本文主要是介绍【异或】Leetcode 136. 只出现一次的数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【异或】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;}
}
这篇关于【异或】Leetcode 136. 只出现一次的数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!