天天看点

LeetCode 104:二叉树的最大深度

LeetCode 104:二叉树的最大深度

    • 题目描述
    • 解题思路
    • 代码实现
    • 总结

题目描述

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

LeetCode 104:二叉树的最大深度

解题思路

递归思路,依次求取左子树和右子树的深度,最后二叉树的深度等于左右子树的最大深度+1,因为深度包括根节点在内。

代码实现

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的

代码片

.

public class depthOfTree {
    //二叉树的最大深度
    public int maxDepth(TreeNode root) {//acc:1ms 47%
        if (root == null) {
            return 0;
        } else {
            int left_height = maxDepth(root.left);
            int right_height = maxDepth(root.right);
            return Math.max(left_height, right_height) + 1;
        }
    }

    public static void main(String[] args) {
        TreeNode node1 = new TreeNode(10);
        TreeNode node2 = new TreeNode(6);
        TreeNode node3 = new TreeNode(14);


        node1.left = node2;
        node1.right = node3;
        node2.left = null;
        node2.right = null;
        node3.left = null;
        node3.right = null;
        depthOfTree test=new depthOfTree();
        int depth=test.maxDepth(node1);
        System.out.println(depth);
    }
}






           

总结

本题来源于Leetcode中 归属于树类型题目。

同许多在算法道路上不断前行的人一样,不断练习,修炼自己!

如有博客中存在的疑问或者建议,可以在下方留言一起交流,感谢各位!

觉得本博客有用的客官,可以给个赞鼓励下! 嘿嘿