如何使用递归反转数字
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
的递归调用的 return 值。
实际上,在 length - 1
上的 for 循环,每次循环乘以 10 比使用 pow
.
更有效
退出代码应该只是 if (number == 0) return 0;
在方法的开始。
我只想在递归中发送数字本身而不是更多变量!!!
所以,我编写了一个代码来进行操作,但我没有停止点。
代码:
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
的递归调用的 return 值。
实际上,在 length - 1
上的 for 循环,每次循环乘以 10 比使用 pow
.
退出代码应该只是 if (number == 0) return 0;
在方法的开始。