#LAISIR20. 題目名稱:古樹的年輪
題目名稱:古樹的年輪
🧮 題目名稱:古樹的年輪
📝 題目描述:
考古學家在沙漠中發現了一棵早已枯死的古樹,這棵樹的年輪記錄呈現出一種奇特的二叉結構。研究人員將其轉譯為一棵二叉樹的先序遍歷記錄(使用 "null"
表示空節點),他們想知道這棵古樹曾經生長的最高高度是多少。
一棵樹的高度定義為「從根節點到最深的葉子節點之間的邊數」。
請你根據給定的完全先序遍歷結果,還原出這棵二叉樹,並輸出其高度。
📥 輸入格式:
輸入共兩行:
-
第一行為一個整數
n
,表示先序遍歷序列的長度(包含"null"
的節點)。 -
第二行為
n
個字串,以空格分隔,為這棵樹的完全先序遍歷序列。- 節點值為
-10^5
到10^5
間的整數,空節點為字串"null"
。
- 節點值為
📤 輸出格式:
一行一個整數,表示該樹的高度(根節點到最深葉節點之間的邊數)。
📊 數據範圍:
- $1 \leq n \leq 10^5$
- 保證輸入是某一棵合法二叉樹的完全先序遍歷結果。
📘 輸入範例 1:
7
1 2 null null 3 4 null null null
📗 輸出範例 1:
2
說明: 對應樹為:
1
/ \
2 3
/
4
其最深路徑為 1 → 3 → 4,共 2 條邊,故樹高為 2。
📘 輸入範例 2:
3
1 null null
📗 輸出範例 2:
0
Related
In following homework: