Maximum Depth of Binary Tree
Given the root of a binary tree, return its maximum depth.
A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Example 1:

Input: root = [3,9,20,null,null,15,7]
Output: 3
Example 2:
Input: root = [1,null,2]
Output: 2
Constraints:
- The number of nodes in the tree is in the range
[0, 10^4]. -100 <= Node.val <= 100
アプローチ
思考
- counter の変数を用意して、max_depth を更新していく
実装
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
max_depth = 0
return self.get_depth(root, max_depth)
def get_depth(self, node, depth):
if not node:
return depth
depth += 1
max_depth = max(max_depth, depth)
self.get_depth(node.left, max_depth)
self.get_depth(node.right, max_depth)
return max_depthTime Space
注意点
- max_depth は問題なく計算できているが、再帰処理の結果を受け取っていないため、結果的に 1 が返却される