Skip to content

Commit 1a2e352

Browse files
committed
DaleStudy#250 binary-tree-level-order-traversal solution
1 parent d3dc4eb commit 1a2e352

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
"""
2+
ํ’€์ด :
3+
level์„ ์ธ์ž๋กœ ํ•จ๊ป˜ ๋„˜๊ฒจ์„œ level์— ํ•ด๋‹นํ•˜๋Š” ์ธ๋ฑ์Šค์— append
4+
5+
node ๊ฐœ์ˆ˜ N
6+
7+
TC : O(N)
8+
๋ชจ๋“  node์— ๋Œ€ํ•ด dfsํ˜ธ์ถœ
9+
10+
SC : O(N)
11+
dfs ํ•จ์ˆ˜ ํ˜ธ์ถœ ์Šคํƒ์ด ๋…ธ๋“œ ๊ฐœ์ˆ˜ N๋งŒํผ
12+
"""
13+
14+
# Definition for a binary tree node.
15+
# class TreeNode:
16+
# def __init__(self, val=0, left=None, right=None):
17+
# self.val = val
18+
# self.left = left
19+
# self.right = right
20+
class Solution:
21+
def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
22+
ans = []
23+
24+
def dfs(node: Optional[TreeNode], level: int) -> None:
25+
if not node :
26+
return
27+
if len(ans) < level + 1 :
28+
ans.append([node.val])
29+
else:
30+
ans[level].append(node.val)
31+
dfs(node.left, level + 1)
32+
dfs(node.right, level + 1)
33+
34+
dfs(root, 0)
35+
36+
return ans

0 commit comments

Comments
ย (0)