public static int recursiveReverse(int number, int reversenumber){
if(number <= 0) {
return reversenumber;
}
reversenumber = reversenumber * 10 + (number % 10);
number = number/10;
return recursiveReverse(number, reversenumber);
}
Run Code Online (Sandbox Code Playgroud)
要么
private static int reversenumber = 0;
public static int recursiveReverse(int number){
if(number <= 0) {
return reversenumber;
}
reversenumber = reversenumber * 10 + (number % 10);
number = number / 10;
return recursiveReverse(number);
}
Run Code Online (Sandbox Code Playgroud)
绝对不是最后一个.将状态保持变量放在静态字段中只是要求麻烦.并不是说您必须设计并发性,但是如果您有多个线程运行此代码,那么共享reverseNumber字段将完全破坏所有内容.
我没有看到第一和第二之间有任何区别.(从字面上看,它们看起来和我一模一样.)
如果您的目标是通过为第二个参数(reverseNumber)设置默认值来简化调用约定,那么只需重载您的方法:
public static int recursiveReverse(int number) {
return recursiveReverse(number, 0);
}
private static int recursiveReverse(int number, int reverseNumber) {
// your code goes here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |