Leetcode#105 Construct Binary Tree from Preorder and Inorder Traversal

时间:2023-03-08 21:30:43
Leetcode#105 Construct Binary Tree from Preorder and Inorder Traversal

原题地址

基本二叉树操作。

O[       ][              ]

[       ]O[              ]

代码:

 TreeNode *restore(vector<int> &preorder, vector<int> &inorder, int pp, int ip, int len) {
if (len <= )
return NULL; TreeNode *node = new TreeNode(preorder[pp]); if (len == )
return node; int leftLen = ;
while (inorder[ip + leftLen] != preorder[pp])
leftLen++;
node->left = restore(preorder, inorder, pp + , ip, leftLen);
node->right = restore(preorder, inorder, pp + leftLen + , ip + leftLen + , len - leftLen - ); return node;
} TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) {
return restore(preorder, inorder, , , preorder.size());
}