Skip to content

Commit cc32a15

Browse files
committed
add solution: maximum-depth-of-binary-tree
1 parent f8b4e76 commit cc32a15

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
'''
2+
๋ฌธ์ œ: ์ด์ง„ ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ๊นŠ์ด๋ฅผ ๊ตฌํ•˜์‹œ์˜ค.
3+
ํ’€์ด: ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ฆฌ์˜ ๊ฐ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ , ์ตœ๋Œ€ ๊นŠ์ด๋ฅผ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
4+
์‹œ๊ฐ„ ๋ณต์žก๋„: O(n), n์€ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํ•œ ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•˜๋ฏ€๋กœ ์ „์ฒด ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n)์ž…๋‹ˆ๋‹ค.
5+
๊ณต๊ฐ„ ๋ณต์žก๋„: O(h), h๋Š” ํŠธ๋ฆฌ์˜ ๋†’์ด์ž…๋‹ˆ๋‹ค. ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ์ด ์ตœ๋Œ€ h ๊นŠ์ด๊นŒ์ง€ ์Œ“์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(h)์ž…๋‹ˆ๋‹ค.
6+
์‚ฌ์šฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ: ํ•จ์ˆ˜(์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ)
7+
'''
8+
9+
10+
# Definition for a binary tree node.
11+
# class TreeNode:
12+
# def __init__(self, val=0, left=None, right=None):
13+
# self.val = val
14+
# self.left = left
15+
# self.right = right
16+
class Solution:
17+
def maxDepth(self, root: Optional[TreeNode]) -> int:
18+
if not root:
19+
return 0
20+
answ = 1
21+
def dfs(root, a):
22+
nonlocal answ
23+
if root.left:
24+
dfs(root.left, a+1)
25+
if root.right:
26+
dfs(root.right, a+1)
27+
answ = max(answ, a)
28+
return a
29+
dfs(root, 1)
30+
return answ
31+
32+

0 commit comments

Comments
ย (0)