标签:
题目:
Given an integer, write a function to determine if it is a power of two.
链接: http://leetcode.com/problems/power-of-two/
题解:
验证一个数是否是2的幂次,我们可以使用(n & (n - 1))来决定。 比如 10 & 01, 100 & 011等等。
Time Complexity - O(1), Space Complexity - O(1)
public class Solution { public boolean isPowerOfTwo(int n) { if(n <= 0) return 0; return (n & (n - 1) == 0); } }
Reference:
https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2
标签:
原文地址:http://www.cnblogs.com/yrbbest/p/5000175.html