力扣 105 從前序與中序遍歷序列構造二叉樹

2021-10-06 12:42:35 字數 751 閱讀 5617

105. 從前序與中序遍歷序列構造二叉樹

和這個題目類似的還有 106. 從中序與後序遍歷序列構造二叉樹

看到題目以後,就想到上資料結構的時候利用樹的先(後)序遍歷和中序遍歷來搭建樹的方法,但是不知道如何用演算法實現,慚愧!

似乎樹這個資料結構和遞迴就很有緣分,從構建一棵樹到遍歷一棵樹,都可以用遍歷來解決,以後碰見樹的題目可以先想想能不能用遞迴解決!

我們來分析一下用先序遍歷序列和中序遍歷序列怎樣構建一棵樹。

時間複雜度為o(n),空間複雜度為o(n)。

至於為什麼用unordered_map而不是用map,主要是因為兩者背後的原理不同,前者更方便查詢。參考map與unordered_map的區別。

Leetcode 從前序與中序遍歷序列構造二叉樹

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7 definition for a binary tree node...

105 從前序與中序遍歷序列構造二叉樹

如題,根據前序與中序遍歷序列構造二叉樹 整體思路 前序遍歷的第乙個元素,必然是二叉樹的根節點 在中序遍歷中找到前序遍歷第乙個元素的位置 該位置左邊的所有點都是二叉樹的左子樹元素,該位置右邊的所有點都是二叉樹的右子樹元素 思路一 遞迴 字典 由整體思路可以構建子函式用於遞迴,不斷求子樹的左右子樹,直到...

105 從前序與中序遍歷序列構造二叉樹

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7 def buildtree2 preorder,inorder i...