Skip to content

Commit 91d0067

Browse files
committed
solve: binary tree level order traversal
1 parent 158c096 commit 91d0067

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// 재귀 함수로 해결
2+
// 각 노드의 레벨을 기억하고있다가 정답변수에 레벨별로 노드값을 넣어줌
3+
class Solution {
4+
func levelOrder(_ root: TreeNode?) -> [[Int]] {
5+
var answer = [[Int]]()
6+
searchNodes(0, root, &answer)
7+
return answer
8+
}
9+
10+
func searchNodes(_ level: Int, _ node: TreeNode?, _ answer: inout [[Int]]) {
11+
guard let node else { return }
12+
if level >= answer.count { answer.append([]) }
13+
answer[level].append(node.val)
14+
searchNodes(level + 1, node.left, &answer)
15+
searchNodes(level + 1, node.right, &answer)
16+
}
17+
}

0 commit comments

Comments
 (0)