跳过正文
  1. leetcode 题解/

104_二叉树的最大深度

·73 字·1 分钟

类型:树

    1. 二叉树的最大深度 💚

    https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/

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

    💡 递归

    class Solution:
        def maxDepth(self, root: TreeNode) -> int:
            if not root:
                return 0
            return 1 + max(self.maxDepth(root.left), self.maxDepth(root.right))

    时间复杂度:O(n),空间复杂度:O(n)

    💡 BFS

    class Solution:
        def maxDepth(self, root: TreeNode) -> int:
            if not root:
                return 0
            queue = [root]
            depth = 0
            while queue:
                depth += 1
                tempQueue = []
                for node in queue:
                    if node.left:
                        tempQueue.append(node.left)
                    if node.right:
                        tempQueue.append(node.right)
                queue = tempQueue
            return depth

    时间复杂度:O(n),空间复杂度:O(x),x 指最大层的元素数。