如何使用递归来反转数字

时间:2015-01-31 21:47:36

标签: java recursion reverse

我想在递归中仅发送数字本身而不是更多变量!!!

所以,我制作了一个代码来进行操作,但我没有停止点。

代码:

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

1 个答案:

答案 0 :(得分:0)

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

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

你需要乘以 10 先前存储的数字 10 提升到string.length - 1的力量;你需要的结果添加到递归调用upsideDown的返回值。 实际上,for length - 1的for循环,每次循环乘以10将比使用pow更有效。

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