本文共 465 字,大约阅读时间需要 1 分钟。
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。 示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:24 = 16示例 3:输入:n = 3输出:false示例 4:输入:n = 4输出:true示例 5:输入:n = 5输出:false 提示:-231 <= n <= 231 - 1 进阶:你能够不使用循环/递归解决此问题吗?
位运算
class Solution { public boolean isPowerOfTwo(int n) { while(n>1){ if((n&1)!=0)return false; n>>=1; } return n==1; }}
转载地址:http://bzxlf.baihongyu.com/