博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 231. Power of Two
阅读量:4677 次
发布时间:2019-06-09

本文共 626 字,大约阅读时间需要 2 分钟。

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

 

题目大意:判断一个数是否是2的指数次。

思路一:如果一个数是2的指数次,那么它对应的二进制数中只有一个1;利用位运算即可解决。‘

1 class Solution { 2 public: 3     bool isPowerOfTwo(int n) { 4         int k = 0; 5         while(n > 0){ 6             if(n & 1) 7                 k++; 8             n >>= 1; 9         }10         if(k == 1)11             return true;12         return false;13     }14 };

 思路二:如果一个整数是2的幂,那么有 (n & (n-1)) == 0;

1 bool isPowerOfTwo(int n){2         if(n <= 0)3             return false;4         return ((n & (n - 1)) == 0);5     }

 

转载于:https://www.cnblogs.com/qinduanyinghua/p/5727673.html

你可能感兴趣的文章
磁盘分区、格式化
查看>>
嵌入式实时操作系统的可裁剪性及其实现
查看>>
VC++2012编程演练数据结构《31》狄杰斯特拉算法
查看>>
盘点:移动服务 #AzureChat
查看>>
基于visual Studio2013解决C语言竞赛题之0608水仙花函数
查看>>
Sass学习笔记
查看>>
C语言练习
查看>>
Eclipse:An internal error occurred during: "Building workspace". GC overhead limit exceeded
查看>>
纯Css实现Div高度根据自适应宽度(百分比)调整
查看>>
jboss eap6.1(4)(部署应用)
查看>>
配置jboss EAP 6.4 数据库连接超时时间
查看>>
【BZOJ5005】乒乓游戏 [线段树][并查集]
查看>>
前端页面数据埋点、分析和参考
查看>>
NBear简介与使用图解
查看>>
ng-app一些使用
查看>>
ubuntu16.04安装 java JDK8
查看>>
中兴F412光猫超级密码破解、破解用户限制、关闭远程控制、恢复路由器拨号
查看>>
sql 查询目标数据库中所有的表以其关键信息
查看>>
C# 高效率创建字符串类(StringBuilder)
查看>>
sql server 符号函数sign
查看>>