#44378: C++詳解


toseanlin@gmail.com (Dr. SeanXD)

學校 : 不指定學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2025-07-30 21:23:37

前序的順序是:根、左、右

中序的順序是:左、根、右

使用遞迴的方式,將每次的根設置為前序字串的第一個字元,並且在中序字串中使用 For迴圈 尋找根,找到之後要再次呼叫函式,分別是左邊和右邊。

左邊:將前序的字串從位置 1 往右邊切 i 個字元,代表這就是左邊的資料。將中序從 0 往右切 i 個字元。如果根在第 0 個位置則不用呼叫左邊的函式了。

右邊:將前序的字串從位置 i+1 往右邊切 前序.length()-i-1 個字元。將中序從位置 i+1 往右邊切 前序.length()-i-1 個字元。如果根不在中序的最後一個位置,則不用呼叫。

每次函式呼叫完左右邊之後都要輸出這次的根。

 

範例程式碼