《leetCode》:Power of Two
来源:互联网 发布:剑三藏剑男神捏脸数据 编辑:程序博客网 时间:2024/06/17 02:27
题目
Given an integer, write a function to determine if it is a power of two.
判断一个数是否是2的次方。
思路
即判断此整数的二进制表示中是否只存在一个 1.因此,思路就是不停的迭代,看是否此整数中只有一个 1.
public boolean isPowerOfTwo(int n) { if(n<=0){ return false; } while(n>0){ if(n==1){ return true; } int reminder=n%2; if(reminder!=0){ return false; } n>>=1; } return true; }
思路二:一行代码
看别人的思路,发现确实经典。
如下:
public boolean isPowerOfTwo(int n) { return n>0&&((n&(n-1))==0); }
n&n-1确实是来判断整数n的二进制表示中是否只有一个 1 。
1 0
- [LeetCode] Power of Two
- 【LeetCode】Power of Two
- [Leetcode]Power of Two
- [leetCode] Power of Two
- leetcode --Power of Two
- leetcode: Power of Two
- LeetCode Power of Two
- [LeetCode] Power of Two
- LeetCode Power of Two
- [leetcode] Power of Two
- [Leetcode]Power of Two
- Leetcode: Power of Two
- [LeetCode]Power of Two
- leetcode | Power of Two
- 【leetcode】Power of Two
- [LeetCode]Power of Two
- [leetcode] Power of two
- LeetCode Power of Two
- BZOJ3524Couriers
- SDAU 贪心专题 17 小箱子
- TCP协议中的三次握手和四次挥手(图解)
- boost在windows的编译及在vs2010中的配置
- 编写可读代码的艺术 (3)
- 《leetCode》:Power of Two
- android感应器Senor
- 机器学习---线性回归
- SDAU 贪心专题 16 中位数
- iOS开发-CocoaPods的安装及使用
- Http request传输图片和附属信息(old)
- JS定时器简单时钟案例复习
- SDAU贪心专题 06 电梯
- 文章标题