Bit Manipulation
转自:http://blog.csdn.net/xsloop/article/details/47006241
一共五中运算: 与,或,异或,左移,右移
常用技巧:
(1)n & (n-1)能够消灭n中最右侧的一个1。
(2) 右移:除以2, 左移:乘以2。
(3)异或性质:交换律,0^a=a, a^a=0;
(3)将常用字符、数字等均转为按位运算,可以节约空间。
leetcode 题目解析:
191 Number of 1 Bits
- 使用右移。
- 使用n&(n-1)可以消灭一个1的性质来求解
231 Power of Two
使用n&(n-1)=0来判断。
注意0和负数的情况。
190 Reverse Bits
使用右移和左移。
169 Majority Element
136 Single Number
137 Single Number II
78 Subsets