[leetcode]重建二叉树(先序和终须) 中序遍和后续
2014-07-23 20:32
429 查看
分割后长度相等,就是参数麻烦,p,先序的起始点,ib,ie终须的结束和开始。
/** *Definitionforbinarytree *publicclassTreeNode{ *intval; *TreeNodeleft; *TreeNoderight; *TreeNode(intx){val=x;} *} */ publicclassSolution{ publicTreeNodebuildTree(int[]preorder,int[]inorder){ returnbulid(preorder,inorder,0,0,inorder.length-1);//pstartofprorder,ibstartofinorder,ieendofinorder; } /** *Definitionforbinarytree *publicclassTreeNode{ *intval; *TreeNodeleft; *TreeNoderight; *TreeNode(intx){val=x;} *} */ publicTreeNodebulid(int[]preorder,int[]inorder,intp,intib,intie) { if(ib>ie)returnnull; inti;//splitpoint for(i=ib;i<=ie;i++) { if(inorder[i]==preorder[p])break; } TreeNoderoot=newTreeNode(preorder[p]); root.left=bulid(preorder,inorder,p+1,ib,i-1); root.right=bulid(preorder,inorder,p+i-ib+1,i+1,ie);// returnroot; } }
/**
*Definitionforbinarytree
*publicclassTreeNode{
*intval;
*TreeNodeleft;
*TreeNoderight;
*TreeNode(intx){val=x;}
*}
*/
publicclassSolution{
publicTreeNodebuildTree(int[]inorder,int[]postorder){
returnbulid(inorder,postorder,postorder.length-1,0,inorder.length-1);
}
publicTreeNodebulid(int[]in,int[]pos,intp,intib,intie)
{
if(ib>ie)returnnull;
inti;
for(i=ib;i<=ie;i++)
{
if(pos[p]==in[i])break;
}
TreeNoderoot=newTreeNode(pos[p]);
root.right=bulid(in,pos,p-1,i+1,ie);
root.left=bulid(in,pos,p-ie+i-1,ib,i-1);
returnroot;
}
}
相关文章推荐
- 根据二叉树的中序遍序列和后续遍历序列还原一颗二叉树
- leetcode 重建二叉树
- leetcode 二叉树后续遍历的递归和非递归实现
- 二叉树--由中序遍历和后续遍历重建二叉树
- Construct Binary Tree from Inorder and Postorder Traversal 由中序和后序重建二叉树@LeetCode
- 二叉树重建leetcode
- LeetCode-105、106 Construct Binary Tree (JAVA)重建二叉树
- [LeetCode] 根据前序序列和中序序列重建二叉树
- 牛客_剑指offer_重建二叉树,再后续遍历_递归思想_分两端
- [leetcode]_根据二叉树的先序遍历(后序遍历) + 中序遍历 重建二叉树
- leetcode 145. Binary Tree Postorder Traversal 二叉树后续遍历
- LeetCode(Construct Binary Tree from Preorder and Inorder Traversal )根据二叉树的中序遍历和后序遍历重建二叉树
- 重建二叉树 的 非递归算法(已知前序和中序)输出 层续和后续
- QUDOJ-78 重建二叉树 (中序后续推前序)
- leetcode 二叉树后续遍历的递归和非递归实现
- 重建二叉树 leetcode
- LeetCode(Construct Binary Tree from Inorder and Postorder Traversal)根据二叉树的中序和后续构造二叉树
- leetcode | 二叉树的前序遍历、中序遍历、后续遍历的非递归实现
- [LeetCode] 根据中序和后序序列重建二叉树
- LeetCode 145 Binary Tree Postorder Traversal(二叉树的后续遍历)+(二叉树、迭代)