ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-递归获取n的回文

2019-11-09 02:04:10  阅读:10  来源: 互联网

标签:java recursion



用户输入n,然后递归方法返回n的回文.

例如:

>对于n = 3的方法打印:3
>对于n = 13方法打印:1331
>对于n = 133方法打印:133331

基本上,方法将n反转,然后将其添加到原始n中.

我知道如何打印反转的n,但是在保存反转的数字时遇到了麻烦.我如何升级下面的代码以返回n个反向n(1331)?

public class test {
    public static void palindrome(int n) {
        if (n < 10) {
            System.out.print(n);
            return;
        }
        else {
            System.out.print(n % 10);
            palindrom(n/10);
        }
    }

    public static void main(String[] args) {
        palindrome(13);
    }
}

解决方法:

以下代码可以解决您的问题:

public static void main(String args[]){
    System.out.println(palindrome(133));
}

private static int palindrome (int n){
     return palindrome(n,n);
}

private static int palindrome( int n, int r ){
    if(r==0)
        return n;
    return palindrome(n*10+r%10,r/10);
}

您可以检查出here.



标签:java,recursion

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有