Leetcode Algorithms

231. Power of Two

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

Example 1:

Input: 1
Output: true
Explanation: 20 = 1

Example 2:

Input: 16
Output: true
Explanation: 24 = 16

Example 3:

Input: 218
Output: false

Logic:

Power of 2 means only 1 bit of n is 1. Hence, we can use bitwise operation: (n&(n-1)) == 1 to test if n is the power of 2

Solution:

class Solution:
def isPowerOfTwo(self, n:int) -> bool:
if n <= 0:
return False
elif (n&(n - 1)) == 0:
return True

Link

Reference

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Isabelle

Isabelle

In love with telling stories with data