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

问题描述

这是我看到的解决方案:

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 课程还没有那么远。所以,我只想知道我在这里发布的解决方案是否有效,或者使用我提供的线程链接中的解决方案会更好。

标签: javapalindrome

解决方案


链接答案的解决方案更有效,因为如果单词不是回文,它不会遍历整个数字/单词。

即使第一步可以检测到第一个和最后一个数字/字符不相同,您提供的解决方案也会遍历整个数字/单词。


推荐阅读