[LeetCode]剑指 Offer 55 - I. 二叉树的深度

Posted Spring-_-Bear

tags:

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

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

例如:

给定二叉树 [3,9,20,null,null,15,7],

   3
   / \\
  9  20
    /  \\
   15   7

返回它的最大深度 3 。

提示:

节点总数 <= 10000

题解一:

    /**
     * 剑指 Offer 55 - I. 二叉树的深度
     * 树的深度优先遍历
     */
    public int maxDepth(TreeNode root) 
        return root == null ? 0 : Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
    

题解二:

    /**
     * 剑指 Offer 55 - I. 二叉树的深度
     * 树的广度优先遍历(层次遍历)
     */
    public int maxDepth(TreeNode root) 
        if (root == null) 
            return depth;
        

        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        int depth = 0;

        // 当队列不为空时遍历
        while (!queue.isEmpty()) 
            // 遍历当前层的所有元素
            for (int i = queue.size(); i > 0; i--) 
                TreeNode node = queue.poll();
                // 将当前节点的左右孩子加到队尾
                if (node.left != null) 
                    queue.add(node.left);
                
                if (node.right != null) 
                    queue.add(node.right);
                
            
            depth++;
        
        return depth;
    

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/er-cha-shu-de-shen-du-lcof

以上是关于[LeetCode]剑指 Offer 55 - I. 二叉树的深度的主要内容,如果未能解决你的问题,请参考以下文章

算法leetcode|剑指 Offer 55 - I. 二叉树的深度|104. 二叉树的最大深度(rust和go)

算法leetcode|剑指 Offer 55 - I. 二叉树的深度|104. 二叉树的最大深度(rust和go)

leetcode-剑指 Offer 55 - II平衡二叉树

LeetCode664. 奇怪的打印机 / 剑指 Offer 55 - I. 二叉树的深度 / 剑指 Offer 55 - II. 平衡二叉树

[LeetCode]剑指 Offer 55 - I. 二叉树的深度

LeetCode(剑指 Offer)- 55 - II. 平衡二叉树