693. Binary Number with Alternating Bits

Easy

Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will always have different values.

Example 1:

Input: n = 5
Output:
 true
Explanation:
 The binary representation of 5 is: 101

Example 2:

Input: n = 7
Output:
 false
Explanation:
 The binary representation of 7 is: 111.

Example 3:

Input: n = 11
Output:
 false
Explanation:
 The binary representation of 11 is: 1011.

Constraints:

  • 1 <= n <= 231 - 1

解題

func hasAlternatingBits(n int) bool {
	for n > 0 {
        	if n%2 == (n>>1)&1 { return false }
		n = n >> 1
	}
    
	return true
}

Last updated