2020-01-02 LeetCode LeetCode-二进制中1的个数 bit操作 知识点 一个整数除以2,与将这个整数右移1位等价,但是移位运算效率更高。 一个整数减一,后与原整数做‘与’运算,这个操作会把这个整数最右边的1变成零。 有了上述两点,求二进制中1的个数,思路就有了: 12345678int numberOfOne(int num){ int count = 0; while(num){ count++; num = num & (num - 1); } return count;} 此方法对正负整数均使用。 Newer LeetCode-对大数的操作 Older LeetCode-链表操作注意事项