이진 트리의 루트 root가 주어져요. 모든 노드에서 왼쪽 자식과 오른쪽 자식을 맞바꾼 트리의 루트를 반환해요.
루트에서 한 번만 바꾸는 게 아니라 모든 깊이에서 바꿔야 해요.
트리는 레벨 순서 배열로 주어져요. null은 자식이 없다는 뜻이고, 채점기가 이 배열을 노드로 바꿔서 root로 넘겨줘요. 노드는 val, left, right를 가지며, 새 노드가 필요하면 TreeNode로 만들 수 있어요.
반환값도 트리예요. 채점기가 다시 레벨 순서 배열로 바꿔서 비교하니까, 노드를 그대로 반환하면 돼요.
예시
예시 1
예시 2
예시 3
제한 사항
- 노드 개수는 0개 이상 10,000개 이하예요.
- -1,000 ≤ node.val ≤ 1,000
각 노드에서 두 자식을 맞바꾸고, 그 두 자식에도 같은 일을 재귀로 맡기면 끝이에요. 빈 노드는 그대로 돌려보내요.
javascriptCopy codefunction invertTree(root) {if (root === null) return null;const left = invertTree(root.left);root.left = invertTree(root.right);root.right = left;return root;}
이전 문제중위 순회
다음 문제이진 탐색 트리 유효성 검사
예시 테스트만 실행 (Cmd/Ctrl+Enter)
숨김 테스트까지 채점 (Cmd/Ctrl+Shift+Enter)
에디터를 불러오고 있어요…
코드를 작성하고Ctrl↵를 눌러 예시 테스트를 확인해 보세요.