一 . 思惟發散函數
藉助這個題目,我想用一個更好理解的方法說一說遞歸。藉助數學上的小括號來更好的理解遞歸,我作太小學生家教,記得這應該是小學四年級的題目(符號的計算順序)。直接上圖吧。spa
也許寫的不夠嚴謹,但傳達的思想沒有錯,一樣採用的是舉例法,假設須要遞歸的函數是法 f(),遞歸一次就在相應的位置插上一個f(),所有搞定後就變成一個如上圖所示的那個了,接下來就是計算順序咯,不會的話,看一看小學四年級數學,應該會有幫助。code
class Solution { public int TreeDepth(TreeNode pRoot) { // write code here //魯棒判斷 if (pRoot == null) { return 0; } //左右遞歸 int left = TreeDepth(pRoot.left); int right = TreeDepth(pRoot.right); //加一運算 return System.Math.Max(left,right)+1; } }