学不好python的小猫

学不好python的小猫

题目:

def preOrder(inOrder, postOrder):
    # 如果中序遍历为空,则结束递归
    if not inOrder:
        return
    # 后序遍历的最后一个元素是根节点
    root = postOrder[-1]
    print(root, end='')  # 打印根节点
    rootIndex = inOrder.index(root)  # 获取根节点在中序遍历中的位置

    # 递归遍历左子树
    preOrder(inOrder[:rootIndex], postOrder[:rootIndex])
    # 递归遍历右子树
    preOrder(inOrder[rootIndex+1:], postOrder[rootIndex:-1])


# 读取输入的中序和后序遍历序列
A = input()
B = input()
preOrder(A, B)  # 调用函数并打印先序遍历结果

在这段代码中,通过递归的方式来遍历二叉树的左右子树,并且输出先序遍历的序列。 

 

11-08 13:08