LeetCode - 231. Power of Two
Given an integer, write a function to determine if it is a power of two.
Example 1:
Input: 16
Output: true
Example 2:
Input: 5 Output: false
判断一个数是否为2的次幂,偶然发现3年前做这道题就是很简单的循环对2取余整除。顺手用位运算写了一行代码又提交了一次。效率提升了200多倍。
public boolean isPowerOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; }
原理参考这篇博客的技巧部分。
作者:Pickle
声明:对于转载分享我是没有意见的,出于对博客园社区和作者的尊重一定要保留原文地址哈。
致读者:坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。