class Solution { public: bool isPowerOfTwo(int n) { bool is_flag=false; while(n!=0) { if(n&1==1)//如果为1,看是不是第一个1 { if(is_flag)//如果已经不是第一个1了,直接返回false return false; else is_flag=!is_flag; } n=n>>1; } return is_flag; } };
分析:
还是比较好想出来的。
class Solution { public: bool isPowerOfTwo(int n) { bool is_flag=false; while(n!=0) { if(n&1==1)//如果为1,看是不是第一个1 { if(is_flag)//如果已经不是第一个1了,直接返回false return false; else is_flag=!is_flag; } n=n>>1; } return is_flag; } };
分析:
还是比较好想出来的。