Binary Number with Alternating Bits - Bit Manipulation - Easy - LeetCode
💻 coding

Binary Number with Alternating Bits - Bit Manipulation - Easy - LeetCode

1 min read 153 words
1 min read
ShareWhatsAppPost on X
  • 1A positive integer has alternating bits if no two adjacent bits in its binary representation are the same.
  • 2The function checks each bit of the integer to determine if it alternates, returning true or false accordingly.
  • 3The algorithm operates with a time complexity of O(log n) and a space complexity of O(1).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"A positive integer has alternating bits if no two adjacent bits in its binary representation are the same."

Binary Number with Alternating Bits - Bit Manipulation - Easy - LeetCode

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. Example 4:

Input: n = 2 Output: true Explanation: The binary representation of 10 is: 1010. Example 5:

Input: n = 3 Output: false

Constraints:

1 <= n <= 231 - 1

public class Solution {
 public bool HasAlternatingBits(int n) {
 int? prev = null;
 for(int i=0;i<32 && n!=0;i++){
 if(prev==null){
 prev = (n&1);
 }
 else{
 if(prev == (n&1)){
 return false;
 }
 prev = (n&1);
 }
 
 n=n>>1;
 }
 
 return true;
 }
}

Time Complexity: O(logn) which corresponds to the count of binary bits.

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 6 October 2020 · 1 min read · 153 words

Part of AskGif Blog · coding

You might also like