leetcode每日不做题
461. 汉明距离
852. 山脉数组的峰顶索引
374. 猜数字大小
278. 第一个错误的版本
474. 一和零
231. 2 的幂
342. 4的幂
1074. 元素和为目标值的子矩阵数量
477. 汉明距离总和
12. 整数转罗马数字
1190. 反转每对括号间的子串
692. 前K个高频单词
1738. 找出第 K 大的异或坐标值
1442. 形成两个异或相等数组的三元组数目
993. 二叉树的堂兄弟节点
421. 数组中两个数的最大异或值
13.罗马数字转整数
本文档使用 MrDoc 发布
-
+
首页
231. 2 的幂
[力扣原题链接](https://leetcode-cn.com/problems/power-of-two/) ## 题目 给定一个整数,写一个函数来判断它是否是`2`的幂次方。如果是,返回`true`;否则,返回`false`。 整数`n`是`2`的幂次方需满足:存在整数`x`使得`n == 2x` **示例 1:** ``` 输入:n = 1 输出:true 解释:20 = 1 ``` **示例 2:** ``` 输入:n = 16 输出:true 解释:24 = 16 ``` **示例 3:** ``` 输入:n = 3 输出:false ``` **示例 4:** ``` 输入:n = 4 输出:true ``` **示例 5:** ``` 输入:n = 5 输出:false ``` **提示:** * ![](/media/202105/2021-05-31_124741.png) **进阶:** * 你能不使用循环或者递归来完成本题吗? ## 思路 循环除以`2`,退出循环的条件是商大于`1`,当循环的过程出现`n%2 != 0`时,直接返回`false`,循环结束都没有出现`n%2 != 0`的情况则说明`n`是`2`的幂次方。 ## 代码 语言:Java ``` class Solution { public boolean isPowerOfTwo(int n) { if(n <= 0) { return false; } while(n > 1) { if(n % 2 != 0) { return false; } n /= 2; } return true; } } ```
renyi567
2021年5月31日 12:48
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
阅读量
次
本站总访问量
次
本站访客数
人次
Markdown文件
分享
链接
类型
密码
更新密码