leecode 刷题 二叉树的最大深度

简介: 给定二叉树根节点 `root`,返回其最大深度。最大深度是从根节点到最远叶子节点的最长路径上的节点数。例如,对于输入 `[3,9,20,null,null,15,7]`,输出为 `3`;对于输入 `[1,null,2]`,输出为 `2`。节点数量在 `[0, 104]` 范围内,值在 `[-100, 100]` 之间。

给定一个二叉树 root ,返回其最大深度。

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

image.png

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:3
示例 2:

输入:root = [1,null,2]
输出:2

提示:

树中节点的数量在 [0, 104] 区间内。
-100 <= Node.val <= 100

/**
 * 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;
        int i=1,left=0,right=0;
        if(root.left!=null)
        {
            left=maxDepth(root.left);
        }
        if(root.right!=null)
        {
            right=maxDepth(root.right);
        }
        if(left>right)
        {
            i=i+left;
        }
        else

        {
            i=i+right;
        }
        return i;
    }
}
相关文章
|
8月前
|
Java
leetcode-559:N 叉树的最大深度
leetcode-559:N 叉树的最大深度
37 0
|
23天前
|
人工智能 索引
leecode刷题 将有序数组转换为二叉搜索树
给定一个升序排列的整数数组 `nums`,要求将其转换为一棵高度平衡的二叉搜索树(BST)。通过递归方法,选择数组中间元素作为根节点,左半部分构建左子树,右半部分构建右子树。优化后的代码使用索引递归,避免了数组复制操作,提高了效率。
|
20天前
leecode 刷题 完全二叉树的节点个数
给定一棵完全二叉树的根节点 `root`,求该树的节点个数。完全二叉树的特点是除了最底层外,每层节点数都达到最大值,且最底层节点集中在最左边。可以通过递归遍历树的每个节点来统计节点总数。以下是暴力解法的实现:定义一个递归函数 `countNodes`,如果当前节点为空则返回0;否则,初始化计数为1(当前节点),然后递归计算左子树和右子树的节点数并累加。此方法时间复杂度为O(n),适用于节点数不超过5 * 10^4的完全二叉树。
|
1月前
leecode刷题 二叉树的直径
给定一棵二叉树的根节点,返回该树的直径。二叉树的直径是指树中任意两个节点之间最长路径的长度,这条路径可能经过也可能不经过根节点。两节点之间路径的长度由它们之间边数表示。
|
1月前
leecode刷题 相同的树
给定两棵二叉树的根节点 p 和 q,编写一个函数来判断这两棵树是否相同。如果两棵树在结构上相同且对应节点的值相等,则认为它们是相同的。示例包括完全相同的树、结构不同或节点值不同的树。节点数在 [0, 100] 范围内,节点值在 [-10^4, 10^4] 范围内。
33 11
|
1月前
leecode刷题 对称二叉树
给定一个二叉树的根节点 `root`,检查该二叉树是否轴对称。轴对称意味着二叉树的左子树和右子树在结构和值上都完全镜像对称。示例 1 中的树 `[1,2,2,3,4,4,3]` 是对称的,而示例 2 中的树 `[1,2,2,null,3,null,3]` 不是对称的。节点数在 1 到 1000 之间,节点值范围为 -100 到 100。代码通过递归检查左右子树是否镜像对称。
29 13
|
1月前
leecode刷题 二叉树最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。叶子节点是没有子节点的节点。如果一个子树为空,则需考虑另一子树的高度。 示例 1:输入:root = [3,9,20,null,null,15,7],输出:2。示例 2:输入:root = [2,null,3,null,4,null,5,null,6],输出:5。提示:树中节点数的范围在 [0, 105] 内,-1000 <= Node.val <= 1000。
|
1月前
leecode刷题 二叉树 中序遍历
给定二叉树根节点,返回其节点值的中序遍历。示例1:输入root=[1,null,2,3],输出[1,3,2];示例2:输入root=[],输出[];示例3:输入root=[1],输出[1]。节点数范围[0,100],值范围[-100,100]。代码实现使用递归方法完成中序遍历。
|
1月前
leecode刷题 翻转二叉树
给定一棵二叉树的根节点 `root`,翻转这棵二叉树并返回其根节点。通过递归交换每个节点的左右子树来实现翻转。示例 1:输入 `root = [4,2,7,1,3,6,9]`,输出 `[4,7,2,9,6,3,1]`。示例 2:输入 `root = [2,1,3]`,输出 `[2,3,1]`。示例 3:输入 `root = []`,输出 `[]`。树中节点数目范围在 [0, 100] 内,节点值范围为 -100 到 100。
|
8月前
leetcode代码记录(二叉树的最大深度
leetcode代码记录(二叉树的最大深度
43 0