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

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

前言

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

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

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

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

总结

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

目录
相关文章
|
7月前
|
算法 索引
leetcode654最大二叉树刷题打卡
leetcode654最大二叉树刷题打卡
58 0
|
7月前
leetcode104二叉树的最大深度刷题打卡
leetcode104二叉树的最大深度刷题打卡
41 0
|
7月前
|
算法
刷题专栏(十):二叉树的前序遍历
刷题专栏(十):二叉树的前序遍历
57 0
|
7月前
|
存储 算法
刷题专栏(十一):二叉树的后序遍历
刷题专栏(十一):二叉树的后序遍历
61 0
|
7月前
|
算法
刷题专栏(十三):二叉搜索树的最近公共祖先
刷题专栏(十三):二叉搜索树的最近公共祖先
45 0
leetcode刷题(9)二叉树(3)
各位朋友们,今天我为大家分享的是关于leetcode刷题二叉树相关的第三篇我文章,让我们一起来看看吧。
leetcode刷题(8)二叉树(2)
各位朋友们,大家好!今天我为大家分享的是关于二叉树leetcode刷题的第二篇,我们一起来看看吧。
leetcode刷题(7)二叉树(1)
哈喽大家好,这是我leetcode刷题的第七篇,这两天我将更新leetcode上关于二叉树方面的题目,如果大家对这方面感兴趣的话,欢迎大家持续关注,谢谢大家。那么我们就进入今天的主题。
力扣刷题之二叉树的最大深度
力扣刷题之二叉树的最大深度
力扣刷题之二叉树的最大深度