力扣hot100 - 104、二叉树的最大深度

题目:

思路:首先理解两个概念--深度和高度

井有多深,树有多高。一般求高度我们用后续遍历,后续遍历是从最下面开始,但是最大深度=最大高度,这里为了方便直接求最大高度。

递归三部曲:参数(root) 结束条件(root==null) 单层递归逻辑(先求左子树的高度,再求右子树高度,然后比较大小拿大的+1就是该root节点的最大高度)。

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
        if(root == null){
            return 0;
        }
        return Math.max(maxDepth(root.left),maxDepth(root.right))+1;
    }
}
相关推荐
We་ct2 小时前
LeetCode 242. 有效的字母异位词:解法解析与时空优化全攻略
前端·算法·leetcode·typescript
_OP_CHEN2 小时前
【算法基础篇】(五十四)解析错排问题:从信封错位到编程实战,一次性搞懂排列组合中的 “反常识” 难题!
算法·蓝桥杯·c/c++·组合计数·算法竞赛·acm/icpc·错排问题
苦藤新鸡2 小时前
54 子集
算法·leetcode·动态规划
近津薪荼2 小时前
递归专题5——快速幂
c++·学习·算法
小龙报2 小时前
【数据结构与算法】指针美学与链表思维:单链表核心操作全实现与深度精讲
c语言·开发语言·数据结构·c++·物联网·算法·链表
一起养小猫2 小时前
Flutter for OpenHarmony 实战:扫雷游戏算法深度解析与优化
算法·flutter·游戏
!停3 小时前
数据结构二叉树——堆
java·数据结构·算法
一匹电信狗11 小时前
【LeetCode_547_990】并查集的应用——省份数量 + 等式方程的可满足性
c++·算法·leetcode·职场和发展·stl
鱼跃鹰飞11 小时前
Leetcode会员尊享100题:270.最接近的二叉树值
数据结构·算法·leetcode