题解 | #二叉树的深度#
二叉树的深度
http://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
//时间复杂度:O(n) 空间复杂度:O(n),当退化到链表时
function TreeDepth(pRoot)
{
// write code here
// if (!pRoot) return 0;
// let lval = TreeDepth(pRoot.left);
// let rval = TreeDepth(pRoot.right);
// return (lval > rval ? lval:rval)+1;
// method2
if (!pRoot) return 0;
let queue = [];
queue.push(pRoot);
let level =0;
while(queue.length){
let sz = queue.length;
while(sz--){
let node = queue[0];
queue.splice(0,1);
if(node.left) queue.push(node.left);
if(node.right) queue.push(node.right);
}
level++;
}
return level;
}
module.exports = {
TreeDepth : TreeDepth
};