题解 | #牛的回文编号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);
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务