二叉树的深度-剑指offer系列

Posted IT小磊

tags:

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

点击关注上方"IT小磊"

设为"星标或置顶"



题目描述

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

解题思路

递归。当根节点为空,则深度为0;不为0时,则深度为1+左右子树深度的较大值。


代码示例

public class Offer39 {
    public static void main(String[] args) {
        //构建二叉树
        TreeNode root = new TreeNode(1);
        root.left = new TreeNode(2);
        root.right = new TreeNode(3);
        root.left.left = new TreeNode(4);
        root.left.right = new TreeNode(5);
        root.right.left = new TreeNode(6);
        root.right.right = new TreeNode(7);
        Offer39 testObj = new Offer39();
        System.out.println(testObj.TreeDepth(root));
    }

    public int TreeDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }

        return 1 + Math.max(TreeDepth(root.left), TreeDepth(root.right));
    }

    static class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int val) {
            this.val = val;
        }
    }
}



欢迎关注我的公众号"IT小磊",如果喜欢,麻烦点一下" 在看"


IT小磊


以上是关于二叉树的深度-剑指offer系列的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer系列42---二叉树深度

剑指Offer 二叉树的深度

剑指offer 38.二叉树的深度

剑指OFFER 二叉树的深度

剑指Offer38:二叉树的深度(Java)

剑指Offer——二叉树的深度