已知先序与中序遍历结果构建二叉树(C++版)
这幅图的重点在于找左先序,左中序,右先序,右中序,我看了很多博客,这篇博客的思想较通俗易懂,用来实现代码也是较好理解。先序序列第三个为D(D在B的左子树),则B左边连D,根据中序序列知道以D为根结点,G为右子树,左子树为空。先序序列第二个为B(B在A的左子树上),则A左边连B,根据中序序列知道以B为根结点,DG为左子树,右子树空。先序序列第一个为A,则根结点第一个为A,然后根据中序序列,DGB在A的左子树,ECF在A的右子树。例1:先序序列:ABDGCEF 中序序列:DGBAECF,构造二叉树。