1. 程式人生 > >[LeetCode]231. Power of Two判斷是不是2的冪

[LeetCode]231. Power of Two判斷是不是2的冪

post 判斷 一位 clas 左移 power col style lee

/*
        用位操作,乘2相當於左移1位,所以2的冪只有最高位是1
        所以問題就是判斷你是不是只有最高位是1,怎判斷呢
        這些數-1後形成的數,除了最高位,後邊都是1,如果n&n-1就可以判斷了
        如果是2的冪,&的結果是全0
         */
        if (n<=0) return false;
        return ((n&(n-1))==0);

劃重點:

一個數*2,出相當於左移一位

[LeetCode]231. Power of Two判斷是不是2的冪