/* * 342. Power of Four * 2016-7-10 by Mingyang * 还是先来最基本的做法,但是因为题目更高的follow up是说,不要用loop */ public boolean isPowerOfFour(int num) { if (num < 1) { return false; } while (num % 4 == 0) { num /= 4; } return num == 1; } //然后自己写了Bit的算法,就是100,10000后面0的个数是偶数就ok public static boolean isPowerOfFour1(int num) { if (num < 1) { return false; } int count = 0; while (num > 1) { if ((num & 1) == 0) { num = num >> 1; count++; } else { return false; } } return count % 2 == 0; }