中序遍历序列和 后序遍历序列重建二叉树
程序员文章站
2022-03-24 16:07:08
...
//中序区间为【inL,inR】 ,后序区间为【postL,postR】,返回根节点
node *creat(int postL,int postR,int inL,int inR)
{
if(postL>postR)
{
return NULL;
}
node *root=new node;
root->data=post[postR];
int k;
for(int i=inL;i<=inR;i++)
{
if(post[postR]==in[i])
{
k=i;
break;
}
}
int numleft=k-inL; //根据数量去划分左右子树
root->lchild=creat(postL,postL+numleft-1,inL,k-1);
root->rchild=creat(postL+numleft,postR-1,k+1,inR);
return root;
}
上一篇: 先序遍历序列和中序遍历序列重建二叉树
推荐阅读
-
Python实现二叉树前序、中序、后序及层次遍历示例代码
-
Python利用前序和中序遍历结果重建二叉树的方法
-
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
-
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
-
[PHP] 算法-根据前序和中序遍历结果重建二叉树的PHP实现
-
Python实现二叉树前序、中序、后序及层次遍历示例代码
-
【算法】二叉树的前序、中序、后序、层序遍历和还原。
-
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例
-
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
-
已知后序遍历和中序遍历求层序遍历(树的遍历)