File tree Expand file tree Collapse file tree
maximum-depth-of-binary-tree Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -36,3 +36,25 @@ def find_max_depth(cur_node, depth):
3636 max_depth = find_max_depth (root , 0 )
3737
3838 return max_depth
39+
40+
41+ # 7๊ธฐ ํ์ด
42+ # ์๊ฐ๋ณต์ก๋: O(n)
43+ # - ํธ๋ฆฌ์ ๋ชจ๋ ๋
ธ๋๋ฅผ ํ ๋ฒ ์ฉ ๋ฐฉ๋ฌธํ๋ฏ๋ก, ์ ์ฒด ๋
ธ๋ ์ n๋งํผ ์๊ฐ์ด ๊ฑธ๋ฆผ
44+ # ๊ณต๊ฐ๋ณต์ก๋: O(n)
45+ # - ํธ๋ฆฌ์ ๋์ด๋งํผ ์ฌ๊ท ์คํ์ด ์์. ์ต์
์ ๊ฒฝ์ฐ๋ ํธ๋ฆฌ๊ฐ ํ ์ชฝ์ผ๋ก ์น์ฐ์ณค์ ๋์ด๋ฏ๋ก ๋
ธ๋ n๋งํผ์ ์ต๋ ์คํ์ ์๊ฒ ๋จ
46+ class Solution :
47+ def maxDepth (self , root : Optional [TreeNode ]) -> int :
48+ def find_depth (node , depth ):
49+ if not node :
50+ # node๊ฐ None์ผ ๋๋ depth์ ๊ทธ๋๋ก ๋ฐํ
51+ return depth
52+ # ํ์ฌ ๋
ธ๋ ๊ธฐ์ค ์ผ์ชฝ ๋
ธ๋ ์ชฝ์ ๊น์ด ํ์
53+ left_depth = find_depth (node .left , depth + 1 )
54+ # ํ์ฌ ๋
ธ๋ ๊ธฐ์ค ์ค๋ฅธ์ชฝ ๋
ธ๋ ์ชฝ์ ๊น์ด ํ์
55+ right_depth = find_depth (node .right , depth + 1 )
56+
57+ # ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์ค ๋ ๊น์ depth๋ฅผ ๋ฐํ
58+ return max (left_depth , right_depth )
59+
60+ return find_depth (root , 0 )
You canโt perform that action at this time.
0 commit comments