关闭

leetcode 231: Power of Two

9824人阅读 评论(2) 收藏 举报
分类:

Power of Two

Total Accepted: 3596 Total Submissions: 11779

Given an integer, write a function to determine if it is a power of two.

Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

[思路]

如果是power of two, 则2进制表达中,有且仅有一个1.  可以通过移位来数1的个数, 这里用了一个巧妙的办法, 即判断   N & (N-1) 是否为0.

[CODE]

public class Solution {
    public boolean isPowerOfTwo(int n) {
       return n > 0 && ((n & (n - 1)) == 0 );
    }
}


2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:773360次
    • 积分:10249
    • 等级:
    • 排名:第1707名
    • 原创:276篇
    • 转载:9篇
    • 译文:0篇
    • 评论:102条
    文章分类
    最新评论