- 金錢
- 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); W8 [1 Z ^8 a# x3 z9 i: G2 r
}9 {3 P% w1 |" a
TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end; T! @( U4 H& n: g# {5 v
if(start > end) return NULL;
* u$ q0 I i7 N, s* c TreeNode *tree = new TreeNode(preorder[root]);
5 R; X$ v x8 \; ^( A. v. U5 t int i = start;9 Z+ z; c% Z$ O
while(i < end && preorder[root] != inorder[i]) i++;
0 \7 s! o- F& O3 L tree->left = build(preorder, inorder, root + 1, start, i - 1);" u+ c5 k+ J- u2 o5 J
tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);
1 O/ i, h5 g, R' N7 K" c/ V return tree;9 R' V, I7 K+ B7 p
}
^4 w9 R% t2 f}; |
|