LeetCode(52) Power of Two
2015-09-23 19:21
375 查看
题目描述
Given an integer, write a function to determine if it is a power of two.本题要求判断一个数是否是2的指数。
题目解答
本题很简单可以通过位运算进行判断。首先如果一个数为负,则肯定不为2的指数,直接返回false;对于正数可以判断该数字二进制表达时1的个数,如果1的个数为只有一个则为2的指数,否则不为2的指数。当然本题也可以通过不停的对待判断数字除以2,若最终为1,则说明该数字是2的指数。
class Solution { public: bool isPowerOfTwo(int n) { if(n <= 0) return false; int count = 0; const int one = 1; while(n) { if(n & one == one) count++; n = n >> 1; } if(count == 1) return true; else return false; } };
相关文章推荐
- IOS UILabel
- android 图片压缩
- 无锁编程(五) - RCU(Read-Copy-Update)
- Spring 漏洞分析
- iOS开发中常用的轮子 第四篇 抽屉和侧滑效果
- myeclipse 导入项目 输入此项目名不能运行问题
- C++一个简单的手柄类模板
- Java面试题
- The reference to entity "characterEncoding" must end with the ';' delimiter.
- sqlserver的树形查询
- Mybatis之配置文件中的objectFactory节点内容说明
- 欢迎使用CSDN-markdown编辑器
- java 安全了解
- LeetCode Merge k Sorted Lists 解决报告
- C++学习记录之STL函数
- kMeans算法JAVA实现
- Android工具栏--ActionBar
- iOS 在push进新页面时的animate失效
- <display:column 中对EL表达式内容进行截取组装
- ognl+struts2