#LAISIR34. 龍眼的右眼視角

龍眼的右眼視角

🧮 題目名稱:龍眼的右眼視角


📝 題目背景:

傳說在東方神殿的龍眼樹中,每一棵古樹都象徵著一段失落的歷史。神殿記錄師在不同的時刻,從不同角度觀察這棵龍眼樹。某天,他站在樹的右側,開始記錄自己能看到的所有節點。

龍眼之眼只能看到每層最右邊的節點。


🎯 任務說明:

給定一棵二元樹的**完全先序遍歷(Preorder Traversal)**序列(包含空節點 "null"),請你還原出這棵樹,並從右側觀看這棵樹,輸出每層中最右側節點的值。


📥 輸入格式:

第一行一個整數 n(1 ≤ n ≤ 10^5):先序序列的長度(包含 "null")
第二行 n 個字串,以空格分隔,為完全先序遍歷序列:
- 非空節點為整數(-10^5 到 10^5)
- 空節點為字串 "null"

📤 輸出格式:

多行,每行一個整數,按層從上至下輸出每層最右側節點值。


📘 輸入範例:

13
1 2 4 null null 5 null null 3 null 6 null null

📗 輸出範例:

1
3
6

🌳 樹結構說明:

還原的樹結構為:

        1
      /   \
     2     3
    / \     \
   4   5     6

從右側觀察,每層最右側節點為:

  • 第 1 層:1
  • 第 2 層:3
  • 第 3 層:6

因此輸出為:

1
3
6