210 根據前序和後序遍歷構造二叉樹

2021-09-26 04:24:28 字數 1005 閱讀 7076

題目描述:

返回與給定的前序和後序遍歷匹配的任何二叉樹。

pre 和 post 遍歷中的值是不同的正整數。

示例:輸入:pre = [1,2,4,5,3,6,7], post = [4,5,2,6,7,3,1]

輸出:[1,2,3,4,5,6,7]

1 <= pre.length == post.length <= 30

pre 和 post 都是 1, 2, …, pre.length 的排列

每個輸入保證至少有乙個答案。如果有多個答案,可以返回其中乙個。

和這兩道題差不多的思路,都是先找到根節點,然後根據根節點在另乙個遍歷的陣列中找到位置,進行遞迴

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

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

class solution 

return getnode(pre, 0, pre.length - 1, post, 0, pre.length - 1);

} public treenode getnode(int pre, int index1, int index2, int post, int index3, int index4)

treenode root = new treenode(pre[index1]);

if(index1 == index2)

int rootval = pre[index1 + 1];

int i = index3;

for (; i < index4; i++)

int len = i - index3;

root.left = getnode(pre, index1 + 1,index1 + len + 1 , post, index3, i);

root.right = getnode(pre, index1 + len + 2, index2, post, i + 1, index4 - 1);

return root;

}}

889 根據前序和後序遍歷構造二叉樹

題目描述 返回與給定的前序和後序遍歷匹配的任何二叉樹。pre 和 post 遍歷中的值是不同的正整數。示例 輸入 pre 1,2,4,5,3,6,7 post 4,5,2,6,7,3,1 輸出 1,2,3,4,5,6,7 1 pre.length post.length 30 pre 和 post ...

889 根據前序和後序遍歷構造二叉樹

返回與給定的前序和後序遍歷匹配的任何二叉樹。pre 和 post 遍歷中的值是不同的正整數。示例 輸入 pre 1,2,4,5,3,6,7 post 4,5,2,6,7,3,1 輸出 1,2,3,4,5,6,7 1 pre.length post.length 30 pre 和 post 都是 1,...

A1138 根據前序 中序生成後序

參考了部落格上碼量不到50行的 完成了這題的ac重構。感覺真的基礎很重要,這題其實是很簡單的一道樹的前中後序的題目。但是我之前練習的時候,都是用的自己總結的騷套路,雖然理解起來很直觀,但是用了動態陣列 vector 時間複雜度比較大。這題問題規模n 5e4,時間控制600ms,雖然已經ac了,但是執...