- 金錢
- 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);* ~0 _/ D0 J9 S# C) Q
}( Q7 P! C+ k; F# d+ ~
TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end( I+ A; D& r, u1 F! k
if(start > end) return NULL;
. G& b0 I8 r3 y. T5 g TreeNode *tree = new TreeNode(preorder[root]);- s$ e; U8 e2 E/ m
int i = start;
9 l4 R4 J* f! j6 K* ]9 O while(i < end && preorder[root] != inorder[i]) i++;
; Y% i1 y) d. X! S/ I5 j% } tree->left = build(preorder, inorder, root + 1, start, i - 1);
" v4 H% O4 h" M4 ` tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);8 X0 |& Z# p7 i) \7 J
return tree;
1 i) ?! k: t( y( u }
- I3 e5 d! z) S- Z, m( K8 P}; |
|