由后序序列和先序序列获得二叉树

由后序序列和先序序列获得二叉树

1.题意

学过数据结构的都知道,由后序序列和先序序列能够获得二叉树,可是得不到惟一的二叉树。可是如何使用后序和先序获得一棵二叉树呢?这是一个比较有意思的话题。数据结构

2.分析

2.1 前提知识
  • 后序序列postOrder:遍历的顺序是LRD,分别表明左子树,右子树,根,意思就是对于一棵树,始终是先输出左子树的部分,再输出右子树的部分,再输出根。这对于树的任何一个子树都是成立的。
  • 先序序列preOrder:遍历顺序是DLR,分别表明根,左子树,右子树。分析同上。
2.2 如何构造?

见下图:
在这里插入图片描述ide

3.代码

这里不提供代码,有兴趣的话,能够看一道pat题,并参看个人题解。【待更新】post