- 金錢
- 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' {" _/ i: X" _ }
( u+ b% {% J3 v. i& w& z/ c" b TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end
' h7 d* b: ]! D3 K if(start > end) return NULL;+ G: U5 @1 t1 w; U( k
TreeNode *tree = new TreeNode(preorder[root]);9 H5 ~4 O; H" N4 e% [2 t) t% u
int i = start;7 m8 K& u+ s/ ?
while(i < end && preorder[root] != inorder[i]) i++; U7 Q) m7 F- ]) w+ v, \4 K
tree->left = build(preorder, inorder, root + 1, start, i - 1);0 n2 l+ K; l3 V m* w% N
tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);# f% S( I2 y1 P6 V* N- a F
return tree;
' {, K: f; Y3 T }
$ e! `8 ~7 F4 W( ^; x# o}; |
|