Java 题解 | #牛的回文编号#

牛的回文编号

https://www.nowcoder.com/practice/f864e31a772240f1b4310fbdc27fad48

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param x int整型
     * @return bool布尔型
     */
    public boolean isPalindrome (int x) {
        // write code here
        if (x < 0) {
            return false; // 负数不是回文数
        }

        int reversed = 0;
        int original = x;

        while (x != 0) {
            int digit = x % 10; // 获取最低位数字
            reversed = reversed * 10 + digit; // 将数字反转
            x /= 10; // 去除最低位数字
        }

        return original == reversed;
    }
}

代码挺简单的

Java代码

该题主要考察的知识点是判断一个整数是否为回文数,并使用循环和取余运算来实现数字的反转。

代码的文字解释如下:

  1. 判断输入的整数 x 是否小于 0,如果小于 0,则直接返回 false,因为负数不是回文数。
  2. 定义两个变量 reversed 和 original,其中 reversed 用于记录反转后的数字,original 记录原始的输入数字 x
  3. 进入循环,判断 x 是否为 0:如果不为 0,则通过取余运算获取 x 的最低位数字并赋给变量 digit。将 digit 加到 reversed 的末尾,同时将 reversed 左移一位(相当于乘以 10)。将 x 除以 10,去掉最低位数字。迭代直到 x 为 0,即将整个数字反转完毕。
  4. 返回判断 original 和 reversed 是否相等的结果,如果相等说明是回文数,返回 true;否则,返回 false
全部评论

相关推荐

猿辅导 Java后端日常实习 800一天
点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
04-29 12:10
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务