seungriyou / algorithm-study

알고리즘 & SQL 문제 풀이 기록
https://leetcode.com/u/summer_y
0 stars 0 forks source link

[LC] 104. Maximum Depth of Binary Tree #25

Open seungriyou opened 8 months ago

seungriyou commented 8 months ago

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

Approach

트리의 최대 깊이를 구하는 문제로, iterative(BFS)한 방법과 recursive한 방법으로 풀 수 있다.

Iterative (BFS)

BFS를 통해 각 레벨 단위로 방문하며 depth를 늘려나간다.

이때, rootnone 값이 들어올 때에 주의한다.

레벨 단위로 방문하기 때문에 deque를 사용할 필요까지는 없다!

Recursive 💡

어떤 node에 대해, 다음의 값이 해당 noderoot로 하는 트리의 최대 깊이가 된다.

max(left subtree의 max depth, right subtree의 max depth) + 1

이때, base condition에 주의한다!

[!important] 트리 문제는 recursion을 적용하기 쉽다!


Complexity