前序第一个元素一定是根,然后在中序中找到这个元素,中序中这个元素前面的一定属于根的左子树,后面的一定属于右子树。如果中序中根元素前面有n个元素,那么,左子树就有n个节点。然后前序除第一个元素外往后数n个,就是左子树的前序,剩余的为右子树的前序。这样下来,就确定了根节点,左子树的中序和前序,右子树的中序和前序,递归下去,就能还原整个二叉树。
中序加后序同理。
当然,唯一确定的前提是序列中的元素值都是唯一的。
【 在 DorD 的大作中提到: 】
: 这是什么道理
: --
:
发自「今日水木 on iPhone 20 plusplus」
--
FROM 114.254.0.*