25.二叉树的最大深度

104. 二叉树的最大深度

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

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

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

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

    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode() {}
 8  *     TreeNode(int val) { this.val = val; }
 9  *     TreeNode(int val, TreeNode left, TreeNode right) {
10  *         this.val = val;
11  *         this.left = left;
12  *         this.right = right;
13  *     }
14  * }
15  */
16 class Solution {
17     public int maxDepth(TreeNode root) {
18         // 终止条件
19         if (root == null) {
20             return 0;
21         } else {
22             // 每一层将其左右子树加入递归
23             int leftHeight = maxDepth(root.left);
24             int rightHeight = maxDepth(root.right);
25             // 返回值为该层层数
26             return Math.max(leftHeight, rightHeight) + 1;
27         }
28     }
29 }

递归三连问:

1.终止条件

2.本次递归干了什么

3.返回值是什么

posted on 2022-06-22 17:40  HHHuskie  阅读(22)  评论(0编辑  收藏  举报

导航