返回轨道
算法 · 2026-05-14 · 18 阅读

P186 2 的幂

算法 18 阅读

信号摘要

难度:Easy · 时长:05:15 · leetcode 231 · lintcode 1314

P186 2 的幂

未对外公开播放权限
点击查看说明

描述

这个题目说的是,给你一个整数 n,你要写一个函数来判断它是否为 2 的幂。

比如说,给你的 n 等于 8,则返回 true:

n = 8 = 2^3 => true

再比如说,给你的 n 等于 9,则返回 false:

n = 9 => false

代码

public class AlgoCasts {

  // Time: O(log(n)), Space: O(1)
  public boolean isPowerOfTwoBruteForce(int n) {
    if (n <= 0) return false;
    while (n % 2 == 0)
      n /= 2;
    return n == 1;
  }

  // Time: O(1), Space: O(1)
  public boolean isPowerOfTwoBit(int n) {
    return n > 0 && (n & (n - 1)) == 0;
  }

}

📡 通讯频道