zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):递归类:面试题07. 重建二叉树:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

    题目:

    重建二叉树:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

    思路:

    简单

    程序:

    # Definition for a binary tree node.
    # class TreeNode:
    # def __init__(self, x):
    # self.val = x
    # self.left = None
    # self.right = None

    class Solution:
    def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:
    if not preorder or not inorder:
    return None
    tree_root = TreeNode(preorder.pop(0))
    tree_root_index = inorder.index(tree_root.val)
    tree_root.left = self.buildTree(preorder, inorder[: tree_root_index])
    tree_root.right = self.buildTree(preorder, inorder[tree_root_index + 1 : ])
    return tree_root

  • 相关阅读:
    if..endif 语法
    WordPress程序流程分析
    php锁表
    jQuery入门必须掌握的一些API
    集合栈
    回文链表
    链式A+B
    链表分割
    访问单个节点的删除
    链表中倒数第k个结点
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12784728.html
Copyright © 2011-2022 走看看