试题分析:题目中提及了树的先序,中序,后序排列,所以我们需要先知道这三种排列是什么意思。
二叉树的3种(深度优先)排列:
先序排列,“根左右”。即对于二叉树的每一个子树,先访问其根,再分别遍历其左右儿子(子树)。
中序排列,“左根右”。即对于二叉树的每一个子树,先遍历其左儿子,再访问其根,然后遍历右儿子。
后序排列,“左右根”。即对于二叉树的每一个子树,先分别遍历其左右儿子,最后访问其根。
看完知识点,我们再来说思路,我们可以根据输入的后序排列来确定这个树的根结点。相同的,在后序排列中,子树的根就是它后序排列的最后一个字母。然后再带入到中序排列中,推出左子树与右子树。如果说子树中还有子树,那我们便要进行下一层的递归,直到递归到最后一个子树为止。
代码如下:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280654.html