使用中序和先序遍历生成二叉树

Generating a binary tree using inorder and preorder traversal

我想使用以下 inorder/preorder 遍历生成二叉树;

有序 = WOLLONGONG

预订 = GLOWOLNNGO

这是我想出的树:

       G
      /  \
     L    N
    / \  /  \
   O  O  O   G
  /  / \   
 W  L   N 

中序遍历有效,但不满足前序条件。由于重复的字母,我觉得很困惑。

我的猜测是我使用了错误的“G”作为词根?

提前致谢!

的确,这里前序的第一个G正好对应中序的最后一个G,即根没有右子树。这将适合:

         G
        /
       L
      / \
     O   O
    /   / \
   W   L   N
            \
             N
            /
           G
            \
             O