美文网首页
[刷题防痴呆] 0693 - 交替位二进制数 (Binary N

[刷题防痴呆] 0693 - 交替位二进制数 (Binary N

作者: 西出玉门东望长安 | 来源:发表于2021-11-06 00:24 被阅读0次

题目地址

https://leetcode.com/problems/binary-number-with-alternating-bits/

题目描述

693. Binary Number with Alternating Bits

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 = 10
Output: true
Explanation: The binary representation of 10 is: 1010.
Example 5:

Input: n = 3
Output: false

思路

  • Integer.toBinaryString. 拿到string.
  • 每两位之间比较即可.

关键点

代码

  • 语言支持:Java
class Solution {
    public boolean hasAlternatingBits(int n) {
        String str = Integer.toBinaryString(n);
        for (int i = 0; i < str.length() - 1; i++) {
            if (str.charAt(i) == str.charAt(i + 1)) {
                return false;
            }
        }
        return true;
    }
}

相关文章

网友评论

      本文标题:[刷题防痴呆] 0693 - 交替位二进制数 (Binary N

      本文链接:https://www.haomeiwen.com/subject/fyihzltx.html