只出现一次的数字
只出现一次的数字
https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x21ib6/
https://leetcode-cn.com/problems/single-number/
哈希表
使用哈希表,如果放入元素时候已经有了,就删掉它。最后剩下的就是只出现一次的元素。时间复杂度是O(n),空间复杂度也是O(n)。
1  |  | 
位运算
数字按位进行异或运算。基于以下几点事实:
- 任何数和自己做异或运算,结果为 0,即 a ⊕ a = 0 。
 - 任何数和 0 做异或运算,结果还是自己,即 a ⊕ 0 = 0 。
 - 异或运算中,满足交换律和结合律,a ⊕ b ⊕ a = b ⊕ a ⊕ a = b ⊕ ( a ⊕ a ) = b ⊕ 0 = b 。
 
1  |  | 
C++的位和逻辑运算操作符
| 运算 | 位运算操作符 (bitwise) | 逻辑运算符(logical) | 
|---|---|---|
| AND | & | && | 
| OR | | | || | 
| XOR | ^ | |
| NOT | ~ | ! | 
| left shift | << | |
| right shift | >> | 
参考链接:https://www.geeksforgeeks.org/bitwise-operators-in-c-cpp/