有簡潔版的。。可是懶得看。。。。
自己寫的這個算是模擬手痠過程了吧,恩。感覺碰到這樣的例子,就是涉及長度加減的,都要拿小資料測一測。
class solution
int mid=-1;
for(int i=ll;i<=rr;i++) if(inorder[i]==root->val)
root->left=find(l+1,l+mid-ll,ll,mid-1,preorder,inorder);
root->right=find(l+1+mid-ll,r,mid+1,rr,preorder,inorder);
return root;
}treenode* buildtree(vector& preorder, vector& inorder)
};
上述**,經過觀察可以進行改進,比如發現傳入的引數ll,r並沒有什麼卵用。。每次都不變啊喂。。所以。。。可以化簡成。。
曹博的**,,
LeetCode105 前序 中序構造樹
根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。前序拿到根節點,在中序中找到該節點左邊的元素和右邊的元素,遞迴下去.public class offer 07 else if index inorderend 1 else return root 看了官方的遞迴解法,思...
LeetCode 105 前序和中序構建二叉樹
給定乙個二叉樹前序遍歷陣列a 124367,中序遍歷得到陣列b,421637。我們的任務是從這兩個結果中構造出原來二叉樹。根據前序遍歷的順序,可以知道陣列是先存放根,然後是左子樹,最後是右子樹。根據中序遍歷的順序,可以知道陣列是先放左子樹,然後是根,最後是右子樹。根據定義,前序遍歷陣列第乙個位置是根...
前序中序後序
遍歷情況 前序 根結點 左子樹 右子樹 中序 左子樹 根結點 右子樹 後序 左子樹 右子樹 根結點 例題一 輸入描述 input description 輸入檔案共2行,第一行表示該樹的前序遍歷結果,第二行表示該樹的後序遍歷結果。輸入的字符集合為,長度不超過26。輸出描述 output descri...