这个 Java 回文解决方案有效吗?它不使用字符串或字符方法

Is this Java palindrome solution efficient? It doesn't use string or char methods

这是我看到的解决方案:

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;
    }
}

我知道有回文解 here 但我的 Java 课程还没有那么远。 所以,我只想知道我在这里发布的解决方案是否有效,或者使用我提供的线程 link 中的解决方案会更好。

链接答案上的解决方案效率更高,因为如果单词不是回文,则不会遍历整个number/word。

您提供的解决方案循环遍历整个 number/word,即使第一步可以检测到第一个和最后一个 digit/char 不相同。

你提供的link是字符串回文,你贴的程序是数字回文。回文概念是相同的,这就是相似性结束的地方。

字符串回文的时间和space复杂度与整数回文完全不同。

希望 helps.best 祝你在 Java 旅途愉快