leetcode.104 计算二叉树的最大深度

Posted smallone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode.104 计算二叉树的最大深度相关的知识,希望对你有一定的参考价值。

题目描述:给一个二叉树,返回该二叉树的最大深度

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7],

    3
   /   9  20
    /     15   7

return its depth = 3.

思路:

采用递归,从根节点出发,获得根节点的左子树和右子树深度,然后取其大者+1,则得到了该树最大的深度

边界条件:当前节点有子树,则继续递归,否则返回当前子树最大深度

递归前进段:当前节点有子节点,则继续递归

递归返回段:当前节点没有子节点

 

代码实现:

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */

class Solution {
    public int maxDepth(TreeNode root) {
        // 思路
        // 递归:
        // 从根节点出发,获取节点左子树和右子树的深度,取其大+1,则为最深深度
        // 边界条件:当前节点下是否还有子节点,有就继续向下递归,没有就返回
        // 递归前进段:当前节点有子节点
        // 递归返回段:单签节点没有子节点
        // return 1+ Math.max(maxDepth(root.left), maxDepth(root.right));
        // 返回当前节点的左右子树深度大的那个 加上1一个深度,从而得到每个节点的深度
        // 最后回归到根节点的时候得到最深的深度
        
        if(root == null) return 0;
        return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
        
    }
}

 

以上是关于leetcode.104 计算二叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode104. 二叉树的最大深度(dfs)

leetcode 104. 二叉树的最大深度

⭐算法入门⭐《二叉树》简单04 —— LeetCode 104. 二叉树的最大深度

leetcode104 二叉树的最大深度(Easy)

LeetCode-104-二叉树的最大深度

LeetCode(104):二叉树的最大深度