LeetCode题目之腾讯精选练习(50题):2的幂
题目
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1 :
输入: 1
输出: true
解释: 20 = 1
示例 2 :
输入: 16
输出: true
解释: 24 = 16
示例 3 :
输入: 218
输出: false
算法实现
public bool IsPowerOfTwo1(int n)
{
if (n == 0)
return false;
return Math.Log(n, 2) - (int)(Math.Log(n, 2)) < 0.000000001;
}
执行结果
执行结果 : 通过
执行用时 : 56 ms, 在所有 C# 提交中击败了87.34%的用户
内存消耗 : 14.2 MB, 在所有 C# 提交中击败了5.77%的用户
位运算方法
public bool IsPowerOfTwo(int n)
{
return n > 0 && (n & (n - 1)) == 0;
}
还没有评论,来说两句吧...