Leetcode Note: Go - Binary Number With Alternating Bits

Binary Number with Alternating Bits - LeetCode
https://leetcode.com/problems/binary-number-with-alternating-bits/

  • Go 言語で取り組んだメモ

所感

  • int n が alternating bits を持つか bool で return する
  • alternating bits とは隣り合うビットが交互に変化していること
    • 101 とか

回答

Binary Number with Alternating Bits - LeetCode
https://leetcode.com/problems/binary-number-with-alternating-bits/solution/

func hasAlternatingBits(n int) bool {
    bits := strings.Split(strconv.FormatInt(int64(n), 2),"")
    for i := 0; i < len(bits) - 1; i++ {
        if bits[i] == bits[i + 1] {
            return false
        }
    }
    return true
}
  • 2進数化してから文字列化して文字ごとにループ
  • 現在の要素と次要素を比較して一致してれば return false して、ヒットしなければ最終的に return true する