刷题专栏(六):二叉树的最大深度

简介: 刷题专栏(六):二叉树的最大深度

前言

今天的这道题《二叉树的最大深度》,难度等级依然是简单等级,主要考点就是对二叉树的数据结构的相关理解。

在这之前,我们已经做了关于二叉树数据结构相关的题型,对二叉树数据结构有了基础的认识,再来做这道题的时候,自然就更容易了。

如果你是第一次看二叉树的数据结构,那么也可以通过这道题来认识一下二叉树的一些特性,还有通常处理二叉树的方式。

image.png

算法题:二叉树的最大深度

从题目的描述来看,这道题的最终目的是想要得到二叉树一共有多少层,要最下面的那一层的层数。

从给出的示例中来看,提供的二叉树是有可能在一些分叉数据上终止,所以要处理这种中途断掉的情况。

从上一道题中,我们使用了递归的方式来处理二叉树中的值,那么针对这次的题目,我们依然可以利用递归的方式去处理,最后得到正确的结果。

代码展示

下面就是我的代码逻辑了,采用的递归概念解决的。

/**
 * 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;
        } else {
            int l = maxDepth(root.left);
            int r = maxDepth(root.right);
            return Math.max(l, r) + 1;
        }
    }
}

执行结果:

递归效率可以,推荐大家使用这种方法来解题。

image.png

总结

其实连着做了两道关于二叉树的题目,就发现规律了,要想处理二叉树中的元素,还是要通过递归的方式来处理,这样更方便一些。

目录
相关文章
|
6月前
二叉树oj题集(LeetCode)
二叉树oj题集(LeetCode)
|
6月前
leetcode15刷题打卡
leetcode15刷题打卡
455 0
|
5月前
|
Serverless
每日OJ刷题
每日OJ刷题
31 1
|
6月前
刷题之Leetcode203题(超级详细)
刷题之Leetcode203题(超级详细)
32 0
刷题之Leetcode203题(超级详细)
|
6月前
leetcode96不同的二叉搜索树刷题打卡
leetcode96不同的二叉搜索树刷题打卡
33 1
|
6月前
leetcode206刷题打卡
leetcode206刷题打卡
27 0
|
6月前
|
算法
leetcode28刷题打卡
leetcode28刷题打卡
31 0
|
6月前
leetcode232刷题打卡
leetcode232刷题打卡
27 0
|
机器学习/深度学习 C语言
OJ刷题之旅(1)
OJ刷题之旅(1)
|
安全 数据安全/隐私保护 C语言
OJ刷题之旅 (2)
OJ刷题之旅 (2)