1. 程式人生 > >二叉樹經典例題的題解

二叉樹經典例題的題解

(有時間我會盡量完善這個板塊
(有任何問題歡迎留言或私聊

第一題:

檢視程式碼:本題程式碼
涉及知識點:dfs建樹;獲取前序,後序遍歷;映象二叉樹的理解。
解析:

本題屬於模版題,直接dfs遞迴建樹;
然後dfs獲取前序遍歷和映象二叉樹前序遍歷的結果。結果直接與給定序列作比較。
題目說了,映象二叉樹就是把二叉樹的左右子樹反過來。所以在訪問前序,後續遍歷結果時,交換訪問左右兒子的順序即可

第二題:

檢視程式碼:本題程式碼
涉及知識點:理解中序,後序遍歷的特點;bfs層序遍歷的實現。
解析:

由中序遍歷和後序遍歷得到其層序遍歷的結果。
需要了解前序中序後序遍歷的特點,

這個部落格有講。
後序遍歷中,根節點在最後一位;
中序遍歷中,根節點的左右子樹分別在根節點位置兩邊;
所以這題你先找到通過後序遍歷確定根節點的位置,再通過層序便利將它分成兩顆子樹,遞迴下去,就可以得到這顆二叉樹了;
得到層序遍歷要bfs實現,注意一些細節即可,這道模版題很經典。

第三題:

檢視程式碼:
涉及知識點:
解析:

第四題:

檢視程式碼:
涉及知識點:
解析:

第五題:

檢視程式碼:
涉及知識點:
解析: