leetcode-104. 二叉树的最大深度

2022-06-17 10:27:18 浏览数 (1)

JAVA解法

代码语言:javascript复制
/**
 * 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 {
            // 求左子树的最大深度
            int leftHeight = maxDepth(root.left);
            // 求右子树的最大深度
            int rightHeight = maxDepth(root.right);
            // 返回左右子树的最大深度,且要加上根节点
            return Math.max(leftHeight, rightHeight)   1;
        }
    }
}

题解分析

这是一道求树的深度的题目,思路为先分别求左右子树的最大深度再取最大值即为最大深度。

leetcode原题:104. 二叉树的最大深度

0 人点赞