如果二叉搜索树的前序是[p,a,r,s],如何识别[r,s,a,p]是按序还是按后序?
如果是post-order,如何找出是(左,右,根)还是(右,左,根)?

最佳答案

如果预序遍历是[p,a,r,s],那么p必须是根。因为它是一个二叉搜索树,所以a必须是左子树,r和s必须在右子树中。给你两棵可能的树:

      P                 P
    A   R            A     S
          S              R

第二棵树的反向后序遍历将提供序列[r,s,a,p]。

10-06 12:47