所以,我刚开始探索递归,并且有点卡在一个概念上。这里是一个解决方案,我位于一个数总和函数(f(126)= 1 + 2 + 6 = 9):Javascript递归 - >返回跟踪是什么样的?
function sumDigits(num, sum){
if (num === 0) {
return sum;
} else {
sum += num % 10;
num = Math.floor(num/10);
return sumDigits(num, sum);
}}
我跟踪下来到基座,到目前为止一切有意义:
**Trace**
f(126, 0)
{
sum = 6
num = 12
f(12, 6)
}
f(12, 6)
{
sum = 8
num = 1
f(1, 8)
}
f(1, 8)
{
sum = 9
num = 0
f(0, 9)
}
f(0, 9) = 9
我想对我来说没什么意义的是,基本情况是如何在放卷期间传回的?它究竟是如何旅行?
我期待facepalm,但直到我明白我不认为我可以复制此解决方案。
感谢您的帮助!
什么基地?你是说'总和'? –
你每次发射都会传递数字和总和。 – dandavis
对不起,按'base'我的意思是'base case'(编辑):) –