首页 > 其他分享 >力扣104 二叉树的最大深度

力扣104 二叉树的最大深度

时间:2023-01-27 22:22:57浏览次数:53  
标签:right TreeNode val int 力扣 二叉树 null 104 left

题目:

给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。

示例:

给定二叉树 [3,9,20,null,null,15,7],
    3
   / \
  9  20
    /  \
   15   7
返回它的最大深度 3 。

思路:

/**
 * 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{
            return getDepth(root.left,root.right);
        }
    }

    public int getDepth(TreeNode left,TreeNode right){//1.确定参数和返回值
        int count=1;
        if(left==null&&right==null){//2.确定终止条件
            return 1;
        }
        if(left!=null&&right==null){
            count=getDepth(left.left,left.right)+1;
        }
        if(left==null&&right!=null){
            count=getDepth(right.left,right.right)+1;
        }
        if(left!=null&&right!=null){
            int count1=getDepth(left.left,left.right)+1;//3.确定单层逻辑
            int count2=getDepth(right.left,right.right)+1;
            count=count1>count2?count1:count2;
        }
        return count;
    }
}

 

标签:right,TreeNode,val,int,力扣,二叉树,null,104,left
From: https://www.cnblogs.com/cjhtxdy/p/17069444.html

相关文章

  • 二叉树前序、中序、后序遍历非递归写法
    packagedayone.tre;importjava.util.Stack;publicclassPreorderTraversal{/****先序遍历非递归写法*@paramhead*/publicstati......
  • 二叉树公共祖先问题
    packagedayone.tre;/****o1和o2为head二叉树中的点,找出o1和02的最近公共祖先*/publicclassTest{publicstaticNodelowestAncestor(Nodehead,Nodeo......
  • 力扣 1642. 可以到达的最远建筑 [堆]
    1642.可以到达的最远建筑给你一个整数数组 heights ,表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。你从建筑物 0 开始旅程,不断向后面的建筑物......
  • 力扣2023.1.27---2309. 兼具大小写的最好英文字母
    给你一个由英文字母组成的字符串s,请你找出并返回s中的最好英文字母。返回的字母必须为大写形式。如果不存在满足条件的字母,则返回一个空字符串。最好英文字母的大写......
  • 力扣---167. 两数之和 II - 输入有序数组
    给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1......
  • 堆和二叉树的关系
    逻辑结构VS物理结构堆:逻辑结构是一颗二叉树(如下图)物理结构是一个数组(如下代码) //上图是一个堆(从小到大)可以用数组表示constheap=[-1,10,14,25,33,81,......
  • 二叉树中是否存在某值
    constbinarySearchTree=(node=tree,target=8)=>{letcurNode=nodewhile(true){if(!curNode){returnfalse}......
  • 二叉树寻找最k小值
    /***注意:left/right值若没有显示设置为null,值即为undefined*在调用二叉树前、中、后序遍历方法时,由于参数设置了默认值(tree)*所以进入了死循环*/consttree={......
  • 力扣---848. 字母移位
    有一个由小写字母组成的字符串s,和一个长度相同的整数数组shifts。我们将字母表中的下一个字母称为原字母的移位shift()(由于字母表是环绕的,'z'将会变成'a')。   ......
  • 力扣每一一题2023.1.26---1663. 具有给定数值的最小字符串
    小写字符的数值是它在字母表中的位置(从1开始),因此a的数值为1,b的数值为2,c的数值为3,以此类推。字符串由若干小写字符组成,字符串的数值为各字符的数值之和。例......