/* 用位操作,乘2相当于左移1位,所以2的幂只有最高位是1 所以问题就是判断你是不是只有最高位是1,怎判断呢 这些数-1后形成的数,除了最高位,后边都是1,如果n&n-1就可以判断了 如果是2的幂,&的结果是全0 */ if (n<=0) return false; return ((n&(n-1))==0);
划重点:
一个数*2,出相当于左移一位
标签:font return div turn 重点 blog == leetcode pow
/* 用位操作,乘2相当于左移1位,所以2的幂只有最高位是1 所以问题就是判断你是不是只有最高位是1,怎判断呢 这些数-1后形成的数,除了最高位,后边都是1,如果n&n-1就可以判断了 如果是2的幂,&的结果是全0 */ if (n<=0) return false; return ((n&(n-1))==0);
划重点:
一个数*2,出相当于左移一位
[LeetCode]231. Power of Two判断是不是2的幂
标签:font return div turn 重点 blog == leetcode pow
原文地址:https://www.cnblogs.com/stAr-1/p/8478279.html