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

2021-10-19 17:40:14 字數 779 閱讀 2363

嗚嗚嗚笨蛋把前序遍歷層次遍歷搞錯了?

題目不難,細心即可。

根據前序遍歷的第乙個元素取中序遍歷中找將樹分成兩個部分,不斷的遞迴就好啦,詳細的看**。

/**

* definition for a binary tree node.

* struct treenode

* treenode(int x) : val(x), left(nullptr), right(nullptr) {}

* treenode(int x, treenode *left, treenode *right) : val(x), left(left), right(right) {}

* };

*/class solution

treenode* solve(int i,int k,int m,vector&preorder,vector&inorder)

// 不可能只有乙個元素

int pos=find(k,m,preorder[i],preorder,inorder);

// 需要根據pos左右是否還有元素決定是否有左右子節點

if(pos!=-1)

treenode*right=null;

if(pos&preorder,vector&inorder)

for(int pos=k;pos<=m;pos++)

}return -1;

}};

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...