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

2022-03-27 00:32:49 字數 1371 閱讀 2394

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。

注意:你可以假設樹中沒有重複的元素。

例如,給出

前序遍歷 preorder = [3,9,20,15,7]

中序遍歷 inorder = [9,3,15,20,7]

返回如下的二叉樹:

3/ \

9 20

/ \

15 7

/** * definition for a binary tree node.

* public class treenode

* }*/

class solution 

treenode root = new treenode(preorder[0]);

int index = returnindex(inorder,preorder[0]);

if(index > 0)

if(index != -1 && index < inorder.length -1)

return root;

}private int returnindex(int array,int num)

this.preorder =preorder;

for(int i= 0; ipreend || instart > inend)

treenode root = new treenode(preorder[prestart]);

int index = map.get(preorder[prestart]);

int leftsum = index - instart;

root.left = helprecursion(prestart+1,prestart+leftsum,instart,instart+leftsum);

root.right = helprecursion(prestart+leftsum+1,preend,instart+leftsum+1,inend);

return root;

}}

class solution 

int inorderindex = 0;

treenode root =new treenode(preorder[0]);

stackstack = new stack<>();

stack.push(root);

for(int i = 1;i < preorder.length;i++)else

node.right = new treenode(value);

stack.push(node.right);}}

return root;

}}

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

definition for a binary tree node.public class treenode class solution int rootvalue preorder 0 根結點就是前序遍歷preorder的第乙個元素 int leftcount for leftcount 0 ...

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

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

每日一題 從前序與中序遍歷序列(C )

題目描述 根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7 解題思路 1.前序遍歷順序,跟 左 右 中序遍歷順序,左...