我用这段Java代码来解决sumOfDigits问题。
public static int sumOfDigits(int num){
if (num == 0){
return 0;
}
return num%10+ sumOfDigits(num/10);
}我知道这很有效,但我希望任何人都能分享关于如何提高代码效率的见解或材料(一些正式术语/知识),因为我知道Java不太支持递归。
发布于 2013-02-21 01:07:28
在Java中,递归是一个不错的工具。当然,理论上每个函数调用都有一定的开销,但JIT编译器通常能够在运行时自行优化,并提供良好的性能。你不应该优化一个明确使用递归编写的函数,除非你真的遇到了问题,但我怀疑你的代码会有任何问题。有了经验,你会发现代码的易读性很重要。
int total = 0;
while (num != 0) {
total += num % 10;
num = num / 10;
}https://stackoverflow.com/questions/14985339
复制相似问题