Leetcode Tencent 50 Task9 231. Power of Two
描述
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
1 | 输入: 1 |
示例 2:
1 | 输入: 16 |
示例 3:
1 | 输入: 218 |
来源:力扣(LeetCode)
链接:231. Power of Two
解题思路
本题依然是考察位运算,掌握了小技巧非常简单,首先一个整数如果是2的幂次方需要满足以下两个条件:
- 该整数需要大于0;
- 该整数对应的二进制位串有且仅有一个1,且在最高位。
那么本题的思路就出来,写一个统计整数二进制位串1的个数的辅助函数,如果满足整数>0且二进制位串中1的个数为1则返回true,否则返回false。
代码
1 | int count(int num) { |