leetcode231 2的冪(JAVA版)

喂他檸檬茶發表於2020-12-28

給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。
在這裡插入圖片描述
一開始就想到簡單的方方法,果然超時了

class Solution {
    public boolean isPowerOfTwo(int n) {
        int a=1;
		while (a<=n) {	
			if(a == n) {
				return true;
			}
            a*=2;
		}
		return false;
    }
}

使用位運算,很巧妙,不看答案真想不出來

class Solution {
    public boolean isPowerOfTwo(int n) {
        if(n<=0) return false;
        if((n&n-1)==0) return true;
        else return false;
    }
}

相關文章