【LeetCode191】位1的个数

📅 2026/7/1 9:56:04
【LeetCode191】位1的个数
目录题目解法一、遍历统计解法二、分组统计题目解法一、遍历统计int hammingWeight(int n) { int cnt 0; unsigned int x n; for (int i 0; i 32; i) cnt (x i) 0x01; return cnt; } int hammingWeight(int n) { int cnt 0; unsigned int x n; while (x) { x x - 1; cnt; } return cnt; }解法二、分组统计int hammingWeight(int n) { unsigned int x n; x (x 0x55555555) ((x 1 ) 0x55555555); x (x 0x33333333) ((x 2 ) 0x33333333); x (x 0x0f0f0f0f) ((x 4 ) 0x0f0f0f0f); x (x 0x00ff00ff) ((x 8 ) 0x00ff00ff); x (x 0x0000ffff) ((x 16) 0x0000ffff); return x; }