某二叉树的前序遍历序列为-+a*b-cd/ef,后序遍历序列为abcd-*+ef/-,问其中序遍历序列是

前序遍历为:根左右

后序遍历为:左右根

中序遍历为:左根右




前序的:-+a*b-cd/ef中第一个出现的一定是最左面的叶子节点a,而最终的根节点一定是第一个符号-,-cd 和/ef一定为两个分支,则有


                         -

                     /     \

                  +          /

                /    \      /   \

              a      *    e    f

                    /    \

                   b     -

                        /   \

                       c     d


后序序列用来检验,然后得出中序序列a+b*c-d-e/f



你可能感兴趣的:(java学习笔记)