二叉树最大深度
题目:
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
递归,深度遍历:
var maxDepth = function(root) {
if(!root) return 0;
let left = maxDepth(root.left)
let right = maxDepth(root.right)
return Math.max(left,right) + 1
};
BFS:
var maxDepth = function(root) {
//非递归 广度遍历 BFS,使用队列
if(!root) return 0;
const arr = []
arr.push(root)
let n = 0;
while(arr.length){
let size = arr.length
for(let i = 0;i<size;i++){
let node = arr.shift()
if(node.left !=null) arr.push(node.left)
if(node.right !=null) arr.push(node.right)
}
n++
}
return n
};

浙公网安备 33010602011771号