- 金錢
- 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);
% |4 ^0 E% C# ]7 u5 R5 \ }5 U6 ~" ~+ ?1 Q4 A# X
TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end! T: M5 s* S: b. c0 g
if(start > end) return NULL;: @1 y) B1 \1 u, D% Q1 G' ?
TreeNode *tree = new TreeNode(preorder[root]);: U& |" o: q+ l
int i = start;
- Z6 |( ]5 h3 n1 v8 a( { while(i < end && preorder[root] != inorder[i]) i++;
0 ]; F# G, g/ z tree->left = build(preorder, inorder, root + 1, start, i - 1);
$ @) @/ [* {8 r0 V3 P tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);
5 ]% p$ P% i* a& |1 s1 s return tree;
" v+ I2 i3 H6 _ }
' t+ o1 u6 _1 Y+ v9 s# O( T}; |
|