通过前序和中序遍历还原二叉树,python实现

  • Post author:
  • Post category:python


# 通过前序和中序遍历还原二叉树, 用递归
def restruct_tree(pre_order, in_order):
    # 排出两种特殊情况
    if len(pre_order) == 0:
        return 0
    elif len(in_order) == 1:
        return TreeNode(in_order[0])
    else:
        root = pre_order[0]
        depth = in_order.indx(root)

        temp = TreeNode(root)
        temp.left = restruct_tree(pre_order[1: depth + 1], in_order[: depth])
        temp.right = restruct_tree(pre_order[depth + 1:], in_order[depth + 1:])
    return temp



版权声明:本文为qq_33356414原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。