Leetcode 136. 只出现一次的数字 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 136. 只出现一次的数字 解题思路及C++实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
解題思路:
利用異或操作的性質(zhì):
1.恒定律:A ^ 0 = A
2.歸零率:A ^ A = 0
3.交換律:A ^ B = B ^ A
4.結(jié)合律:(A ^ B) ^ C = A ^ (B ^ C)
因為題中已說明,其余元素都出現(xiàn)了兩次,所以,遍歷一遍數(shù)組,將所有元素進(jìn)行異或,得到的結(jié)果就是只出現(xiàn)一次的那個數(shù)。
?
class Solution { public:int singleNumber(vector<int>& nums) {int res = 0;//遍歷nums數(shù)組,進(jìn)行異或操作for(auto num: nums){res = res ^ num;}return res;} };?
?
?
總結(jié)
以上是生活随笔為你收集整理的Leetcode 136. 只出现一次的数字 解题思路及C++实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 220. 存在重复元素
- 下一篇: s3c2440移植MQTT