题目描述
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
这个就是采取递归的方法,单独写一个函数,参数是一个节点和该节点所在的深度,每次讲节点改为左右子树节点进行递归,直到节点为空,将此时的深度与目前的最大深度比较取最大值即可。
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
function TreeDepth(pRoot)
{
let depth = 0;
if(!pRoot){return depth;}
function deepIn(root, l){
if(root){
l++;
deepIn(root.left, l);
deepIn(root.right, l);
}else{
depth = depth>l?depth:l;
}
}
deepIn(pRoot, 0);
return depth;
}