设为首页 加入收藏

TOP

力扣104 求二叉树的最大深度
2023-07-25 21:40:11 】 浏览:26
Tags:力扣 104

力扣104 求二叉树的最大深度

题目:

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

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例

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

    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。

解题思路:

要求一颗二叉树的最大深度我们递归遍历这颗二叉树的左子树与右子树分别求得左子树与右子树的高度并返回其中的最大值最后再加上1就是这颗二叉树的最大深度。

代码:

/**
 * 求一颗二叉树的最大深度,就看这棵二叉树的左子树与右子树的深度哪个最大,取这两者的最大值再加1
 * 加1就是加的根节点的这一层
 */
public class MaxDepthTree {
    //1.首先定义二叉树的节点类
    public static class TreeNode{
        public int value;
        public TreeNode left;
        public TreeNode right;

        public TreeNode(int value) {
            this.value = value;
        }
    }
    //2.定义一个方法取出以root为根节点的最大的高度
    public static int maxDepth(TreeNode root){
        //2.1如果根节点为空说明此树的高度为0
        if (root == null) {
            return 0;
        }
        //2.2递归左子树,递归右子树并返回这两颗子树的最大值再加1
        return Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;
    }
}
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MyBatis中多对一和一对多数据的处.. 下一篇Java基础类String学习分析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目