已知一个二叉树的先序遍历序列和中序遍历序列,但其中一些节点的值可能相同。请你返回所有满足条件的二叉树。二叉树在数组中的顺序是任意的。    

区块链毕设网qklbishe.com为您提供问题的解答

已知一个二叉树的先序遍历序列和中序遍历序列,但其中一些节点的值可能相同。请你返回所有满足条件的二叉树。二叉树在数组中的顺序是任意的。    

回溯问题。每次循环返回所有可能子树的集合。

class Solution:     def getBinaryTrees(self , preOrder , inOrder ):         if preOrder == inOrder == []: return [-1]         res = []; root = preOrder[0]         for i in range(len(inOrder)):             if inOrder[i] == root:                 leftInOrder, rightInOrder = inOrder[:i], inOrder[i+1:]                 leftPreOrder, rightPreOrder = preOrder[1:i+1], preOrder[i+1:]                 leftChildren = self.getBinaryTrees(leftPreOrder, leftInOrder)                 rightChildren = self.getBinaryTrees(rightPreOrder, rightInOrder)                 for leftChild in leftChildren:                     for rightChild in rightChildren:                         root_node = ListNode(root)                         root_node.left = leftChild if leftChild != -1 else None                         root_node.right = rightChild if rightChild != -1 else None                         res.append(root_node)         return res

07:37

以上就是关于问题已知一个二叉树的先序遍历序列和中序遍历序列,但其中一些节点的值可能相同。请你返回所有满足条件的二叉树。二叉树在数组中的顺序是任意的。    的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 已知一个二叉树的先序遍历序列和中序遍历序列,但其中一些节点的值可能相同。请你返回所有满足条件的二叉树。二叉树在数组中的顺序是任意的。