- 金錢
- 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);
) |+ h# W( V$ ~4 @ }
3 k5 [2 o) b1 P2 Y: v. J TreeNode* build(vector<int>& preorder, vector<int>& inorder, int root, int start, int end){// 中序的start和end
1 c$ T5 j' Q9 a9 b1 i7 B% W! A if(start > end) return NULL;; q7 q: X/ {" ?1 a. W3 L+ J3 B- O
TreeNode *tree = new TreeNode(preorder[root]);
, Q$ V- v6 L. y! t, v! c int i = start;& V1 F0 T n7 J4 T
while(i < end && preorder[root] != inorder[i]) i++;; ?- R# |0 p# d
tree->left = build(preorder, inorder, root + 1, start, i - 1);
( u" W/ Z4 [& v tree->right = build(preorder, inorder, root + 1 + i - start, i + 1, end);
) |* K8 h. w n return tree;# h% r$ \; ~ U: G$ ]# s
}
4 @( q$ u+ M% B W( c, Q& h}; |
|