这个Java回文解决方案有效吗?它没有';不要使用字符串或字符方法
以下是我看到的解决方案:这个Java回文解决方案有效吗?它没有';不要使用字符串或字符方法,java,palindrome,Java,Palindrome,以下是我看到的解决方案: package com.philippemoisan; public class Main { public static void main(String[] args) { System.out.println(isPalindrome(-212)); } public static boolean isPalindrome(int number) { int reverse = 0;
package com.philippemoisan;
public class Main {
public static void main(String[] args) {
System.out.println(isPalindrome(-212));
}
public static boolean isPalindrome(int number) {
int reverse = 0;
int initNumber = number;
while (number != 0) {
int lastDigit = number % 10;
reverse = reverse * 10;
reverse +=lastDigit;
number/=10;
}
if (initNumber == reverse) {
return true;
}
return false;
}
}
我知道有回文式的解决方案,但我的Java课程还不太成熟。
因此,我只想知道我在这里发布的解决方案是否有效,或者使用我提供的线程链接中的解决方案是否更好。链接答案上的解决方案更有效,因为如果单词不是回文,它将不会遍历整个数字/单词
即使第一步可以检测到第一个和最后一个数字/字符不相同,您提供的解决方案也会循环遍历整个数字/单词。您提供的链接用于字符串回文,而您发布的程序用于数字回文。回文的概念是相同的,这就是相似性结束的地方 字符串回文的时间和空间复杂度与整数回文完全不同 希望对你有所帮助。祝你在爪哇的旅途愉快