【剑指Offer】二叉树的深度

时间:2022-07-24
本文章向大家介绍【剑指Offer】二叉树的深度,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目:

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。

例如:

给定二叉树 [3,9,20,null,null,15,7],

  3
 / 
9  20
  /  
 15   7

返回它的最大深度 3 。

题解:

此树的深度和其左(右)子树的深度之间的关系。显然,此树的深度 等于 左子树的深度右子树的深度 中的 最大值 +1 。

采用递归,当 root 为空,说明已经越过叶节点,则返回深度0;

class Solution {
    public int maxDepth(TreeNode root) {
        if (root == null ) {
            return 0;
        }
        return Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;
    }
}

本解题思路参考官方题解,了解更多阅读:面试题55 - I. 二叉树的深度(后序遍历、层序遍历,清晰图解)