简单-LeetCode 104.二叉树的最大深度

题目:

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

示例:

在这里插入图片描述

解题思路及代码
1.思路

要知道一棵二叉树的深度,我们只要知道根结点的左子树的深度和右子树的深度,两者较大的那一个加上1即为整个二叉树的深度,以左子树为例,我们要知道左子树的深度,就要知道左子树的左子树和左子树的右子树中深度较大的深度值,再加上1即为左子树的深度,依次类推,我们需要递归至叶子层,然后不断的返回各层的深度,直到返回整个左子树的深度,对于右子树同理。

2.代码
var maxDepth = function(root) {
    if(root == null) {
        return 0;
    } else {
       var leftHeight = maxDepth(root.left);
       var rightHeight = maxDepth(root.right);
       return Math.max(leftHeight, rightHeight) + 1;
    }
}

迭代的思想:从根结点开始访问二叉树时,每往下访问一层即在上一层的深度上加1,直到访问到二叉树最底层,所得到的深度即为二叉树的深度。自顶向下遍历整个二叉树。 可采用层序遍历,先挖个坑,后续再来写代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值