#LASIR16. 還原二元樹並層序輸出

還原二元樹並層序輸出

🧮 題目名稱:還原二元樹並層序輸出

📝 題目描述:

給定一棵二元樹的**完全先序遍歷(Preorder Traversal)序列,請你還原這棵樹,並輸出其層序遍歷(Level Order Traversal)**結果。

先序遍歷中,空節點以 "null" 表示。樹的結構已隱含於此遍歷序列中,不存在多解。


📥 輸入格式:

  • 第一行為一個整數 n,表示遍歷序列的長度(即節點數,包括空節點)。

  • 第二行包含 n 個字串,以空格分隔,為完全先序遍歷序列:

    • 節點為 -10^510^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