- 金錢
- 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);
[& z6 h. p5 X: A! a }
/ H/ h) \4 M) t8 w TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end
$ a# ~* H& ]' \5 p. B" u if(start > end) return NULL;
" \8 j3 [+ O% a$ c. h- d- A TreeNode *tree = new TreeNode(preorder[root]);
: S4 L; H1 x9 s# a# @3 D" q9 M int i = start;
5 u: N& O$ h2 L. C2 X! i$ i# `/ _& n+ ^ while(i < end && preorder[root] != inorder[i]) i++;' J- @* Z9 I, \; N: U, E1 U
tree->left = build(preorder, inorder, root + 1, start, i - 1);. P! Q: [1 }: w& B# q
tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);
, V B5 L/ T+ L return tree;. c& D: s, ^3 T6 T1 B; u; V' d0 z
}
# K8 [' u4 y I9 y$ n0 F}; |
|