
递归法:
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n==1:
return True
if n<=0 or n%2!=0:
return False
return self.isPowerOfTwo(n/2)
循环法:
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n<=0:
return False
for i in range(0,n):
if 2**i==n:
return True
if 2**i>n:
return False
break
位运算法(二进制):
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
# 转为二进制字符串
bs = bin(n)
if bs[2]=='1' and '1' not in bs[3:]:
return True
else:
return False
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
# 位运算
if n>0 and (n&-n)==n:
return True
else:
return False
© 版权声明
1. 除特殊说明外,本网站所有原创文章的版权归作者所有,未经授权,禁止以任何形式(包括但不限于转载、摘编、复制、镜像等)发布至任何平台。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
THE END
暂无评论内容