js.二叉树的最大深度
链接:104. 二叉树的最大深度 - 力扣(LeetCode)
题目:
给定一个二叉树
root,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
示例 1:
输入:root = [3,9,20,null,null,15,7] 输出:3示例 2:
输入:root = [1,null,2] 输出:2提示:
- 树中节点的数量在
[0, 104]区间内。-100 <= Node.val <= 100
代码:
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var maxDepth = function(root) {
let num = 0
let arr = []
arr.push(root)
// 入栈
while(arr.length!=0){
let n = arr.length
while(n--){
if(arr[0]==null){
// 为空直接出栈
arr.shift()
continue
}
let left = arr[0].left
let right = arr[0].right
arr.push(left)
arr.push(right)
//将数组中的第一个元素的两个节点入栈
arr.shift()
//第一个元素出栈
}
num++
}
//次数减一,因为最后一次一定是全为空的数组
return num-1
};
更多推荐




所有评论(0)