类型:树
-
- 二叉树的最大深度 💚
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 指最大层的元素数。