位运算:n & (n - 1)

2021-05-15 每日一题 LeetCode

# 0191. 位1的个数 (opens new window)

题目

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。

解析

循环去除 n 的最后一位 1,直至 n 的值为 0,统计循环的次数即可。

代码

    # 0231. 2的幂 (opens new window)

    题目

    给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

    解析

    由于 2 的幂次方的二进制形式中只包含一个 1,因此将其去掉后判断是否为 0 即可。

    代码

      Last Updated: 2023-01-28 4:31:25