[路飞]_leetcode-104-二叉树的最大深度

简介: leetcode-104-二叉树的最大深度


网络异常,图片无法展示
|


[题目地址][B站地址]


给定一个二叉树,找出其最大深度。


二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。


说明: 叶子节点是指没有子节点的节点。


示例:


给定二叉树 [3,9,20,null,null,15,7]


3
   / \
  9  20
    /  \
   15   7
复制代码


返回它的最大深度 3 。


本题很简单,我们只需要在遍历二叉树的时候,记录一下当前节点的深度


如果当前节点为真实节点,尝试使用当前节点深度更新最大深度 最后遍历完整棵二叉

树,也就获取到了所有节点中的最大深度,即二叉树的最大深度


代码如下:


var maxDepth = function(root) {
  // 初始化结果值为0
  let res = 0;
  // 前序遍历每个节点
  function preorder(node,deep){
    if(node === null) return;
    // 如果当前节点不为空,尝试使用当前节点深度更新最大深度
    res = Math.max(res,deep);
    // 递归遍历左右子树
    preorder(node.left,deep+1)
    preorder(node.right,deep+1)
  }
  preorder(root,1);
  return res;
};
复制代码


至此我们就完成了 leetcode-104-二叉树的最大深度


如有任何问题或建议,欢迎留言讨论!


相关文章
|
5月前
|
Python
【Leetcode刷题Python】剑指 Offer 32 - III. 从上到下打印二叉树 III
本文介绍了两种Python实现方法,用于按照之字形顺序打印二叉树的层次遍历结果,实现了在奇数层正序、偶数层反序打印节点的功能。
67 6
|
3月前
【LeetCode 31】104.二叉树的最大深度
【LeetCode 31】104.二叉树的最大深度
31 2
|
3月前
【LeetCode 29】226.反转二叉树
【LeetCode 29】226.反转二叉树
27 2
|
3月前
【LeetCode 28】102.二叉树的层序遍历
【LeetCode 28】102.二叉树的层序遍历
22 2
|
3月前
【LeetCode 43】236.二叉树的最近公共祖先
【LeetCode 43】236.二叉树的最近公共祖先
25 0
|
3月前
【LeetCode 38】617.合并二叉树
【LeetCode 38】617.合并二叉树
22 0
|
3月前
【LeetCode 37】106.从中序与后序遍历构造二叉树
【LeetCode 37】106.从中序与后序遍历构造二叉树
28 0
|
3月前
【LeetCode 34】257.二叉树的所有路径
【LeetCode 34】257.二叉树的所有路径
28 0
|
3月前
【LeetCode 32】111.二叉树的最小深度
【LeetCode 32】111.二叉树的最小深度
22 0
|
5月前
|
存储 算法
二叉树进阶-学会层序遍历助你一次刷完leetcode10道题
文章深入探讨了二叉树的层序遍历方法,并展示了如何通过队列实现层序遍历的算法逻辑,同时指出掌握层序遍历技巧可以帮助解决LeetCode上的多道相关题目。
二叉树进阶-学会层序遍历助你一次刷完leetcode10道题