【Python LeetCode 专题】位运算
- LeetCode 题目
- 136. 只出现一次的数字(按位异或)
- 137. 只出现一次的数字 II
- 方法一:位运算
- 方法二:Counter 类
- 260. 只出现一次的数字 III(异或运算)
- 2595. 奇偶位数(二进制表示)
- 29. 两数相除(减去倍增除数来模拟除法)
- 67. 二进制求和(反向遍历,处理结果和进位)
- 78. 子集(位运算,回溯)
- 方法一:位运算
- 方法二:回溯
- 89. 格雷编码
- 方法一:Gray Code 的公式(按位异或)
- 方法二:递归生成(反射法)
- 90. 子集 II
- 方法一:位运算
- 方法二:回溯
- 187. 重复的DNA序列
- 方法一:正则 + 哈希
- 190. 颠倒二进制位(位运算)
- 201. 数字范围按位与
- 222. 完全二叉树的节点个数
位运算先验知识:【Python 语法】二进制
LeetCode 题目
136. 只出现一次的数字(按位异或)
记住:自己和自己异或,自己就消失了。
- 按位异或操作对比两个数字的每一位:
- 如果两个数字在该位相同,结果是
0
。- 如果两个数字在该位不同,结果是
1
。
class Solution