1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     bool hasAlternatingBits(int n) 
12     {
13         n^=n>>1;
14         return (n&(n+1))==0;
15     }
16 };

这里用到了判定一个二进制n,位上全部为1的方法

(n&(n+1))==0

posted on 2018-06-10 15:11  高数考了59  阅读(96)  评论(0)    收藏  举报