剑指offer33

128 阅读1分钟

题目描述

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

解题思路分析

  • 本题求树的深度,就跟我们上道有点类似了,但是比上题简单很多,本题只是求树的高度,我们只需要递归求出其左右子树的高度然后,用其最大的值+1就可以了

代码实现


public int treeDepth(TreeNode root) {
    if (root == null) {
        return 0;
    }
    //左子树高度
    int left = treeNode(root.left);
    //右子树高度
    int right = treeNode(root.right)
    //谁高谁+1返回
    return left > right ? left + 1 : rigth + 1;
}