题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。
3/ \9 20/ \15 7
思路
深度优先遍历,参数带一个层级level
用一个变量depth记录最大深度
遍历过程比较depth和level,更新depth
解题
/*** 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) {if (root === null) 0let depth = 1const dfs = (root, level = 0) => {if (root === null) returndepth = Math.max(depth, level + 1)dfs(root.left, level + 1)dfs(root.right, level + 1)}dfs(root)return depth};
