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
浙公网安备 33010602011771号