网络异常,图片无法展示
|
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [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-二叉树的最大深度
如有任何问题或建议,欢迎留言讨论!