
上图给出了一个字母二叉树的图例,字母二叉树:
1、树可能是空的
2、可能有一个根节点。每个结点上有一个字母作为数据,并且有指向左子树和右子树的指针。左子树和右子树也都是字母二叉树
字母二叉树可以用图示的方式表示,每个结点用结点所包含的字母表示,如果左子树非空,向左下方的线段指向左子树,如果右子树非空,向右下方的线段指向右子树。
二叉树的叶子:
二叉树的叶子是指一个子树都为空的结点,在上图的示例中,有5个叶子结点分别是B、D、H、P和Y.
二叉树的前序遍历定义为:
如果树为空,则前序遍历为空。如果树不为空,则前序遍历的遍历顺序依次为:遍历根结点、遍历根的左子树、遍历根的右子树。上图的前序遍历是KGCBDHQMPY.
二叉搜索树:
上图中的树叶是字母二叉搜索树。字母二叉搜索树是每个结点满足下述条件的字母二叉树:
按照字母序,根结点的字母在左子树的所有结点的后面,在右子树的所有结点的前面。
问题描述:
在一棵字母二叉搜索树上进行如下的操作序列:
删除叶子并列出所删除的数据
重复此过程,直到树为空。
下图中从左边的树开始,图示了操作序列的过程,最后产生空树。

删除叶子的操作序列数据分别是:
BDHPY
CM
GQ
K
你的任务是:给出一个字母二叉搜索树的操作序列,输出这棵字母搜索二叉树的前序序列。