根據一棵樹的前序遍歷與中序遍歷構造二叉樹。
注意:你可以假設樹中沒有重複的元素。
例如,給出
前序遍歷 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.前序遍歷順序,跟 左 右 中序遍歷順序,左...