一 . 思惟发散函数
借助这个题目,我想用一个更好理解的方法说一说递归。借助数学上的小括号来更好的理解递归,我作太小学生家教,记得这应该是小学四年级的题目(符号的计算顺序)。直接上图吧。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; } }