最近在python的二级的题库里面苦苦挣扎,在做选择题的时候遇到二叉树的排序问题,只能蒙,靠运气做对,前几天就疯狂查找资料,希望能够找到合适的方式,可以做对,又不会花费太多的时间。终于,在我苦苦的努力下,摸索出来了一点方法,想和大家分享一下😁
题一
首先我们要清楚二叉树的前序,中序,后序序列的遍历方式
前序:根结点(叶子结点,度为0的点)-左子树结点-右子树结点
中序:左-根-右
后序:左-右-根(为了方便记忆,我就简写)
我们看题目中说后序遍历和前序遍历相同,都是ABCDEF,根据上面的规则,我们可以知道它的左子树节点为开头为A,具体多少我们先不论。
然后我们再来看,树结点,树结点在我查资料来看就是顶端一个点,举个例子
上图A表示的就是树节点。
那么回到题目,要满足中序序列和后序序列相同,只能是没有右子树结点的情况,因此F为树节点。
根据排除法我们就可以得出答案为A了。
题二
根据上述的方法,我们可以判断出