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

2022-02-18 08:43:47 字數 634 閱讀 4930

思路:和105題一樣,這次根節點在後續遍歷的最後,找到它;之後在中序遍歷裡找到根節點。arrays.copyofrange()函式找出中序陣列和後續陣列的左右子樹序列,遞迴,構成樹,返回根節點。。。不細說了。感覺挺簡單。

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

}int inleft=arrays.copyofrange(inorder,0,num);

int inright=arrays.copyofrange(inorder,num+1,inorder.length);

int postleft=arrays.copyofrange(postorder,0,num);

int postright=arrays.copyofrange(postorder,num,postorder.length-1);

root.left=buildtree(inleft,postleft);

root.right=buildtree(inright,postright);

return root;

}else}}

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

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

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

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

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

思想 跟從前序和中序序列構造二叉樹相反,這裡依據後序遍歷來確定每個子樹的root,基於後序遍歷的特定可知 當前子樹區間的最後乙個節點即為其root,然後去中序遍歷序列中找到這個root的位置即為rootidx,則在對應的中序區間 instart,int inend 中從 rootidx 1,inen...