给出一棵树的前序遍历和中序遍历,请构造这颗二叉树 注意: 可以假设树中不存在重复的节点
示例1
输入
[1,2],[1,2]
输出
{1,#,2}
示例2
输入
[1,2,3],[2,3,1]
输出
{1,2,#,#,3}
加载中...
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public class Solution { /** * * @param preorder int整型一维数组 * @param inorder int整型一维数组 * @return TreeNode类 */ public TreeNode buildTree (int[] preorder, int[] inorder) { // write code here } }
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param preorder int整型vector * @param inorder int整型vector * @return TreeNode类 */ TreeNode* buildTree(vector
& preorder, vector
& inorder) { // write code here } };
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # # @param preorder int整型一维数组 # @param inorder int整型一维数组 # @return TreeNode类 # class Solution: def buildTree(self , preorder , inorder ): # write code here
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * * @param preorder int整型一维数组 * @param inorder int整型一维数组 * @return TreeNode类 */ function buildTree( preorder , inorder ) { // write code here } module.exports = { buildTree : buildTree };
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # # @param preorder int整型一维数组 # @param inorder int整型一维数组 # @return TreeNode类 # class Solution: def buildTree(self , preorder , inorder ): # write code here
package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ /** * * @param preorder int整型一维数组 * @param inorder int整型一维数组 * @return TreeNode类 */ func buildTree( preorder []int , inorder []int ) *TreeNode { // write code here }
[1,2],[1,2]
{1,#,2}
[1,2,3],[2,3,1]
{1,2,#,#,3}