👏

231. Power of Two

に公開

整数 n が与えられたとき、n が 2 の累乗であれば true を、そうでなければ false を返してください。

整数 n が 2 の累乗であるとは、ある整数 x が存在して n == 2^x を満たすことを意味します。


例 1:

入力: n = 1
出力: true
説明: 2⁰ = 1


例 2:

入力: n = 16
出力: true
説明: 2⁴ = 16


例 3:

入力: n = 3
出力: false


制約:

  • −2³¹ ≤ n ≤ 2³¹ − 1

2の累乗の数は、2進数で表すと「1が1個だけ」立っていて、それ以外はすべて0。
そのため、一つ前の数字と論理積を取って0になる性質を活用。

Discussion