Leetcode之PHP版题目解析(231. Power of Two)


2019-3-20   

 https://laravel.geekai.co/post/19519.html

04d92365af6a83ac8bc72df7d4b0e23b.jpg

,2.


,2,1/22...


    /**
     * @param Integer $n
     * @return Boolean
     */
    function isPowerOfTwo($n) {
       if($n==1){
           return true;
       }
        if($n>=2 && $n%2==0) {
            return $this->isPowerOfTwo($n /2);
        }
    }

(&).

  2的幂次方数   转二进制      减1     
       2         10         01   
       4         100        011 
       8         1000       0111  
      16         100000     011111 
        ............

21,,1,0, 1,12,0


   /**
     * @param Integer $n
     * @return Boolean
     */
    function isPowerOfTwo($n) {
        if($n<1) {
            return false;
        }
        return ($n & $n-1)===0;
    }

Vote Vote Cancel Collect Collect Cancel

<< 上一篇: Laravel 验证码类实现(供学习、参考)

>> 下一篇: Leetcode PHP题解--D10 942. DI String Match