華文網

C++程式設計練習題——通過二叉樹前序和中序遍歷序列構建後序序列

關注“愛當程式師的我”,可以瞭解到更多程式設計知識

通過二叉樹前序和中序遍歷序列構建後序序列是一道金典的題目,小編第一個思路就是通過前序和中序遍歷的結果構造出一顆二叉樹,

再通過二叉樹進行後序遍歷,但是這種方法太low了,所以小編改變了一種方式,通過一種將元素插進去的方式完成後序遍歷的序列。

C++代碼實現:

代碼實現

這裡小編將該函數寫成了一個仿函數,這樣方便調用。
使用遞迴的方式,每次填充左半區和右半區,

每次都會填充最右邊的值。

解釋圖

這裡小編給大家畫了一個圖,有助於大家的理解。如果有什麼疑問可以在評論區提出來,而且小編知道這個解法不是最優的,如果有什麼改進可以提出來,互相學習。

結束語:

如果喜歡這篇頭條,

一定要收藏喲^O^

點擊關注,瞭解更多關於程式設計的知識^O^

如果有不懂的地方,可以留言,相互探討,相互學習,共同進步^O^