已知一棵二叉树的前序遍历序列为 GDAFEMHZ,中序遍历序列为 ADFGEHMZ,则其后序遍历序列为( )。
根据二叉树的遍历特性,先/前序遍历确定根节点,中序遍历确定左右子树范围,从而重构整棵树,再输出后序遍历结果。
易混淆三种遍历的顺序。先序:根左右;中序:左根右;后序:左右根。注意遍历结果中相邻节点的关系。
【考点】二叉树遍历|树的重构|递归逻辑
先从前序定根,再用中序拆分左右子树:G为根,中序里G左边ADF为左子树,右边EHMZ为右子树;递归地,左子树根是D,其左A右F;右子树根是E,其左H右MZ。后序即"左子树后序+右子树后序+根",拼得AFDHZMEG。
易错点1:把后序和中序搞混,直接抄中序ADFGEHMZ;易错点2:右子树后序拼错,EHMZ的后序是H-M-Z-E,不是H-E-M-Z;易错点3:选项C把根节点G提前了,说明没按"左-右-根"顺序。
若把"中序+后序"换成"先序+后序",则无法唯一确定二叉树结构;若换成"中序+后序",解题思路完全对称,只是遍历顺序不同。