题解 | #牛的回文编号III#
牛的回文编号III
https://www.nowcoder.com/practice/6af8b6e39b004329a48cc2cd823e5b30
知识点
字符串
解题思路
使用Integer.toBinaryString方法将x转换成二进制的字符串,但是这样转换得到的字符穿没有符号位和0补充,比如4转成就是100,而我们需要将其补充为0000 0000 0000 0000 0000 0000 0000 0100的形式,就需要添加一位符号位,填充32-s.length-1位0了,将其补充之后的字符串反转之后再与源字符串进行比较看是否相等。
Java题解
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param x int整型 * @return bool布尔型 */ public boolean isPalindromeNumberIII (int x) { // write code here String s = Integer.toBinaryString(x); StringBuilder sb = new StringBuilder(x >= 0 ? "0" : "1"); for(int i = s.length() + 1; i < 32; i++){ sb.append('0'); } sb.append(s); s = sb.toString(); sb.reverse(); return sb.toString().equals(s); } }