每天一道LeetCode--342. Power of Four

破玉發表於2016-11-23

Given an integer (signed 32 bits), write a function to check whether it is a power of 4.

Example:
Given num = 16, return true. Given num = 5, return false.

Follow up: Could you solve it without loops/recursion?

 

public class Solution {
    public boolean isPowerOfFour(int num) {
       int n=num;
        while(n>0&&n%4==0){
            n/=4;
        }
        return n==1;
        //return (num > 0) && ((num & (num - 1)) == 0) && ((num & 0x55555555) == num);
    }
}

 

相關文章