繁体   English   中英

如何使用递归来反转数字

[英]How to reverse a number using recursion

我想只递归发送数字本身,而不发送更多变量!

因此,我编写了进行操作的代码,但没有停止点。

编码:

public static int upsideDown (int number) {
    number += (number%10)*(Math.pow(10, String.valueOf(number).length()));
    number %= 10;
    return upsideDown (number);
}

您需要将要使用的数字存储在局部变量中,而不是修改number

您需要-而不是number %= 10来(整数) 除以 10。

您需要先前存储的数字乘以10以提高到string.length - 1的幂; 您需要将此结果添加到对upsideDown的递归调用的返回值中。 实际上,对于length - 1的for循环,每次通过循环乘以10会比使用pow更有效。

退出代码应该只是if (number == 0) return 0; 在方法开始时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM