DSA 섹션중간

트리 구성

'트리 구성' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

중간

선순 및 중순 순회 목록에서 이진 트리를 재구성하고 재구성된 트리의 수준순 순회를 반환하는 함수 build_tree(preorder, inorder)를 작성하세요(빈 노드에 대해 None을 사용하여 목록으로 표시됨).

제약
  • 1 <= len(preorder) <= 1000
  • inorder.length == preorder.length

Example 1
Input
preorder = [3, 9, 20, 15, 7], inorder = [9, 3, 15, 20, 7]
Output
[3, 9, 20, None, None, 15, 7]
Explanation

Preorder allows identifying the root 3. Inorder splits left subtree [9] and right subtree [15, 20, 7]. Reconstructed tree has level order [3, 9, 20, None, None, 15, 7].

Need a Hint?
세트나 힙과 같은 트리 관련 데이터 구조를 사용해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.