我必须判断一个整数是否是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/