Back to all solutions

#693 - Binary Number with Alternating Bits

Problem Description

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

Solution

/**
 * @param {number} n
 * @return {boolean}
 */
var hasAlternatingBits = function(n) {
  for (let i = 1, b = n.toString(2); i < b.length; i++) {
    if (b[i - 1] === b[i]) return false;
  }
  return true;
};