java - 回文数

标签 java

我必须判断一个整数是否是JAVA中的回文数。我需要帮助理解为什么我编写的代码返回 Time Limit Exceeded

class Solution {
    public boolean isPalindrome(int x) {
        int reverse = 0;
        int remainder = 0;
        int originalX = x;
        boolean isPalindrome = false;


        while(x >=1)
        {
            remainder = x % 10;
            reverse = reverse * 10 + remainder;
            remainder = x / 10;
        }

        if (reverse == originalX){
            isPalindrome = true;
        }

        return isPalindrome;

    }
}

最佳答案

检查整数是否为回文的另一种可能更简单的方法可能是首先将整数转换为字符串,制作字符串的“反向”副本,然后测试它是否与原始值相等

类似的东西(完全未经测试,甚至没有编译......)

class Solution {
    public boolean isPalindrome(int x) {
        String revStr = "";
        String orgStr = ""+x; 
        for (int i = orgStr.length()-1; i>=0; i--)
           revStr = revStr + orgStr.charAt(i);

       return revStr.equals(orgStr);
    }
}

关于java - 回文数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58940520/

相关文章:

Java 8 Streams - 迭代器无法按预期工作

java - Spark Java语言加载数据集的最佳方式

java - 如何将 WebLookup 与 log4j-web 一起使用?

java - Java 监视器有多重?

java - 使用 Choco 建模网球比赛 (CSP)

java - 父类(super class)使用方法的子类版本?

java - 在 Jackson 中将 JsonNode 序列化为非常特定的 JSON 格式

java - 如何使用java从代码中删除行号

java - Java 中的哈希表手动冲突处理

java - 多线程处理中静态成员的意外行为