1.二叉树的深度

  • 题目描述

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

  • 解题思路

1.首先判断根节点是否为空,为空则返回0.

2.根节点不为空:

1)有左节点无右节点:深度=左节点深度+1.(这个1是根节点)。即深度=max(左节点,0)+1

2)有右节点无左节点:深度=右节点深度+1.即深度=max(0,右节点)+1

3)左右节点都有:深度=max(左节点,右节点)+1

  • java代码
public class Solution {
    public int TreeDepth(TreeNode root) {
        if(root == null)
            return 0;
        
        int left = TreeDepth(root.left);
        int right = TreeDepth(root.right);
        return Math.max(left, right) + 1;
    }
}

 

你可能感兴趣的:(算法)