2 回答

TA貢獻(xiàn)11條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以理解為遞歸就是不斷調(diào)用自身方法直到條件不被滿足,然后退出該方法。滿足兩點(diǎn):
2個(gè)條件:
??? 1)有反復(fù)執(zhí)行的過程(調(diào)用自身)
??? 2)有跳出反復(fù)執(zhí)行過程的條件(遞歸出口)
就拿你的例子來說,當(dāng)參數(shù)Node傳遞給本方法后,當(dāng)滿足第二個(gè)if(判斷)條件時(shí),返回的是:開始調(diào)用自身進(jìn)行下一次判斷。舉個(gè)例子,求n!(求某一個(gè)數(shù)的階乘,假設(shè)n為100):
double fun(int n) ??
{
//出口
if(n==0||n==1) ? ?
return 1;
else
//反復(fù)執(zhí)行的過程
return n*fun(n-1);// 100*99(第二次調(diào)用fun(100-1))*98(第三次調(diào)用fun(99-1))*97(第四次調(diào)用fun(98-1))*.....*1(返回的 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// ? ?結(jié)果就是1了)* 0返回的結(jié)果(同1一樣的結(jié)果)。最后輸出的就是100*99*...*1
}
添加回答
舉報(bào)