返回與給定的前序和後序遍歷匹配的任何二叉樹。
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 的排列
每個輸入保證至少有乙個答案。如果有多個答案,可以返回其中乙個。
#definition for a binary tree node.
#class treenode:
#def __init__(self, x):
#self.val = x
#self.left = none
#self.right = none
class
solution:
def constructfromprepost(self, pre: list[int], post: list[int]) ->treenode:
ifnot pre:return
none
root=treenode(pre[0])
if len(pre)==1:return
root
i=post.index(pre[1])+1root.left=self.constructfromprepost(pre[1:i+1],post[:i])
root.right=self.constructfromprepost(pre[i+1:],post[i:-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 ...
210 根據前序和後序遍歷構造二叉樹
題目描述 返回與給定的前序和後序遍歷匹配的任何二叉樹。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 ...
A1138 根據前序 中序生成後序
參考了部落格上碼量不到50行的 完成了這題的ac重構。感覺真的基礎很重要,這題其實是很簡單的一道樹的前中後序的題目。但是我之前練習的時候,都是用的自己總結的騷套路,雖然理解起來很直觀,但是用了動態陣列 vector 時間複雜度比較大。這題問題規模n 5e4,時間控制600ms,雖然已經ac了,但是執...