LeetCode:231. 2的冪
阿新 • • 發佈:2018-12-04
1、題目描述
給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。
示例 1:
輸入: 1 輸出: true 解釋: 20 = 1
示例 2:
輸入: 16 輸出: true 解釋: 24 = 16
示例 3:
輸入: 218 輸出: false
2、題解
2.1、解法一
class Solution(object): def isPowerOfTwo(self, n): """ :type n: int :rtype: bool """ if n == 0: return False if n == 1: return True while n%2 == 0: n = n//2 return True if n == 1 else False
2.2、解法二
class Solution(object): def isPowerOfTwo(self, n): """ :type n: int :rtype: bool """ if n == 0: return False while n%2 == 0: n = n>>1 return True if n == 1 else False