#LASIR16. 還原二元樹並層序輸出
還原二元樹並層序輸出
🧮 題目名稱:還原二元樹並層序輸出
📝 題目描述:
給定一棵二元樹的**完全先序遍歷(Preorder Traversal)序列,請你還原這棵樹,並輸出其層序遍歷(Level Order Traversal)**結果。
先序遍歷中,空節點以 "null"
表示。樹的結構已隱含於此遍歷序列中,不存在多解。
📥 輸入格式:
-
第一行為一個整數
n
,表示遍歷序列的長度(即節點數,包括空節點)。 -
第二行包含
n
個字串,以空格分隔,為完全先序遍歷序列:- 節點為
-10^5
到10^5
間的整數 - 空節點為字串
"null"
- 節點為
📤 輸出格式:
- 一行,為層序遍歷結果,不包含
"null"
,以空格分隔。
📊 數據範圍:
1 ≤ n ≤ 10^5
- 樹中非空節點數量不超過
10^5
- 確保輸入的先序遍歷可還原出一棵合法二元樹
- 所有節點值互不相同(可加此條件以避免模擬錯誤)
📘 輸入範例:
13
1 2 4 null null 5 null null 3 null 6 null null
📗 輸出範例:
1 2 3 4 5 6
Related
In following homework: