判断一个非负整数 n
的二进制表示是否为回文数
样例
样例1
输入: n = 0
输出: True
解释:
0 的二进制表示为:0。
样例2
输入: n = 3
输出: True
解释:
3 的二进制表示为:11。
样例3
输入: n = 4
输出: False
解释:
4 的二进制表示为:100。
样例4
输入: n = 6
输出: False
解释:
6 的二进制表示为:110。
注意事项
- 我们保证
0 <= n <= 2^32 - 1
解题思路:
注意整数可通过Integer.toBinaryString(n)直接转换为二进制
public class Solution {
/**
* @param n: non-negative integer n.
* @return: return whether a binary representation of a non-negative integer n is a palindrome.
*/
public boolean isPalindrome(int n) {
// Write your code here
char[] nums = Integer.toBinaryString(n).toCharArray();
int i=0, j=nums.length - 1;
while(i < j){
if(nums[i] != nums[j])
return false;
i++;
j--;
}
return true;
}
}