美文网首页
leetcode 231. Power of Two 判断是否为

leetcode 231. Power of Two 判断是否为

作者: 高思阳 | 来源:发表于2018-10-18 13:42 被阅读2次

    Given an integer, write a function to determine if it is a power of two.
    译:给定一个整数,写一个能判断是否为2的次方的方法。
    实现
    public class Solution {
    public boolean isPowerOfTwo(int n) {
    return (n > 0) && ((n & (n - 1)) == 0);
    }
    }

    •   1
      
    •   2
      
    •   3
      
    •   4
      
    •   5
      

    问题分析
    一般遇到次方这种题都差不多是跟位运算相关的,写出几个2的次方数,例如:1、2、4、8、16,转换为二进制为:1、10、100、1000、10000,其实想过判断当前有多少位0或1,如果除第一位以外都是0可以得出结论,但想想一旦碰上循环的操作这时间空间复杂度都是嗷嗷的涨,所以还是老老实实别偷懒。-1后除了第一位别的就是1,两者相与则为000000000000…..

    相关文章

      网友评论

          本文标题:leetcode 231. Power of Two 判断是否为

          本文链接:https://www.haomeiwen.com/subject/zsnjzftx.html