p231

LeetCode p231 Power of Two 题解

1.题目:

Given an integer, write a function to determine if it is a power of two.

题意:

输入一个int型整数,判断他是否为2的几次方。

2.解题思路:

见代码,注意细节&防止越界。

3.代码


[title] [] [url] [link text]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public class Solution {
public boolean isPowerOfTwo(int n) {
if (n == 2 || n == 1)//注意1或者也可以从一开始
return true;
int[] a = new int[35];
a[0] = 2;
for (int i = 1; i < 32; i++) {
a[i] = 2 * a[i - 1];
if (n < a[i])
break; //最好跳出
if (n == a[i])
return true;
//System.out.println(n+" "+a[i]);
}
return false;
}
}

4.一些总结: