- 金錢
- 290
- 威望
- 122
- 貢獻值
- 0
- 推廣值
- 0
- 性別
- 保密
- 在線時間
- 0 小時
- 最後登錄
- 2023-7-2
- 主題
- 0
- 精華
- 0
- 閱讀權限
- 20
- 註冊時間
- 2020-1-10
- 帖子
- 91

TA的每日心情 | 開心 2022-7-24 12:30 |
---|
簽到天數: 7 天 [LV.3]偶爾看看II - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 290
- 威望
- 122
- 主題
- 0
|
return build(preorder, inorder, 0, 0, inorder.size() - 1);' x! L! T5 w1 ]# l5 ^+ {, T: R
}
& U9 s# e: S+ \9 e TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end% J* n* y4 c: { p0 ^0 W) w
if(start > end) return NULL;1 E! v+ P0 c9 F2 _0 c* b
TreeNode *tree = new TreeNode(preorder[root]);
* _$ @0 ]' Y* r( E" z' g int i = start;
- E" Z8 ]4 [4 N5 c while(i < end && preorder[root] != inorder[i]) i++;
0 U4 A B f$ E/ X6 B tree->left = build(preorder, inorder, root + 1, start, i - 1);
+ o$ d& P2 `; `/ B0 {" U tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);
% }( z. a* M4 \: P! O5 q return tree;
) o' P7 |8 _4 I* Z9 ` H% ~+ P9 \ }
" d! h. \2 _' o! D* f! W9 j}; |
|