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: 5
Output: True
Explanation:
The binary representation of 5 is: 101

 

Example 2:

Input: 7
Output: False
Explanation:
The binary representation of 7 is: 111.

 

Example 3:

Input: 11
Output: False
Explanation:
The binary representation of 11 is: 1011.

 

Example 4:

Input: 10
Output: True
Explanation:
The binary representation of 10 is: 1010.

大致意思是如果一个数的二进制相邻两位不相同,则返回true,否则返回false

思路如下,进行十进制转二进制操作,判断相邻两位是否一样
public boolean hasAlternatingBits(int n) {
        while(n>1)
        {
            int temp = n%2;
            int temp1 = (n/2)%2;
            if(temp==temp1)
            {
                return false;
            }
            n=n/2;
        }
        return true;
    }

 

posted @ 2018-01-07 18:49  icychen  阅读(91)  评论(0编辑  收藏  举报