BT4 二叉树的最大深度
约 257 字小于 1 分钟
2025-04-15
描述
求给定二叉树的最大深度,
深度是指树的根节点到任一叶子节点路径上节点的数量。
最大深度是所有叶子节点的深度的最大值。
(注:叶子节点是指没有子节点的节点。)
链接
示例
{1,2} => 2
{1,2,3,4,#,#,5} => 3题解
/*
* function TreeNode(x) {
* this.val = x;
* this.left = null;
* this.right = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型
*/
function maxDepth(root) {
// write code here
function go(tree, level) {
if (tree.left || tree.right) {
level++;
if (level > dep) {
dep = level;
}
tree.left && go(tree.left, level);
tree.right && go(tree.right, level);
}
}
if (!root) return 0;
let dep = 1;
go(root, 1);
return dep;
}
module.exports = {
maxDepth: maxDepth,
};更好的写法
// 计算二叉树深度的函数
function maxDepth(root) {
if (!root) {
return 0;
}
const leftDepth = maxDepth(root.left);
const rightDepth = maxDepth(root.right);
return Math.max(leftDepth, rightDepth) + 1;
}