题目:

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

    给定一个整数,写一个函数来确定它是否是2的幂。


思路:

   刚开始想到,只要判断是不是2的倍数就好,但是又想到是2的倍数但又不是2的幂也有,比如说6。查看解决方案,如果一个数是2的幂的话,那它的二进制最高位必然是1,其他都为0,此时如果减1,最高位就会降一位,其余为0的变为1,把两个数相与,就会得到0.

LeetCode编程练习 - Power of Two学习心得


    还有一种写法,相对来说复杂一些,只要判断最低位是否为1,然后向右移位,判断1的个数就可以判断是不是2的幂,因为如果是2的幂,只有最高位为1,其余都为0。

LeetCode编程练习 - Power of Two学习心得






相关文章:

  • 2021-09-07
  • 2021-09-26
  • 2021-05-13
  • 2021-06-05
  • 2021-11-12
  • 2021-06-25
  • 2021-08-04
  • 2021-11-16
猜你喜欢
  • 2021-09-29
  • 2021-08-30
  • 2021-08-03
  • 2021-12-30
  • 2021-10-03
  • 2021-10-01
  • 2021-07-31
相关资源
相似解决方案