void solve(int preL,int inL,int postL,int n)
{
if(n==0) return;
if(n==1) {post[postL]=pre[preL];return;}
root=pre[preL];
post[postL+n-1]=root;
for(i=0;i<n;i++)
if(in[inL+i]==root) break;
L=i; R=n-L-1;
solve(preL+1,inL,postL,L);
solve(preL+L+1,intL+L+1,postL+L,R);
}
Tree Traversals Again(通过先序、中序遍历在不建树情况下推出后序遍历)
最新推荐文章于 2020-05-18 23:51:33 发布