用户输入 n,递归方法返回 n 的回文。
例如:
- 对于
n = 3
方法打印:3
- 对于
n = 13
方法打印:1331
- 对于
n = 133
方法打印:133331
基本上,方法反转n
,然后将其添加到原始n
。
我知道如何打印反转的 n,但我在保存反转的数字时遇到了问题。我如何升级下面的代码以返回 n+reversed 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 - 递归得到n的回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50425175/