題意:
給出前序遍歷序列和中序遍歷序列,求後序遍歷序列
首先要根據前序和中序把樹建立起來,再寫後序遍歷就好~思路很簡單結果還是被我寫跪了,看了好些博文,感覺,,好吧不算是什麼小技巧,是我編碼太渣太渣。。
有兩個地方借鑑了,於是我居然很有興致的把自己的也詳細詳細的全註解上了,要是平時也有耐心這樣多好。。就不會過兩天總是不知道自己在幹啥。。
#include#includetypedef struct treetree;
tree *root;
tree* create(int *preorder,int *inorder,int n)
}return null;
}void postorder(tree *posttree)
}int main()
{ int n;
int preorder[2010],inorder[2010];
while(scanf("%d",&n)!=eof)
{root=null;
for(int i=0;i
hdu 1710恢復二叉樹
恢復二叉樹是面試的經典題目,首先我們知道的結論是已知前序和中序或者後序和中序,那麼我們就可以唯一的確定乙個二叉樹。思路是在 中序的某一段中 前序 後序 中靠前 後 的 節點是這一段中序的父親節點,並且由這個節點將這一段劃分為二。當不能劃分的時候就是到了葉子節點。所以我們可以考慮傳遞父親節點和他的部分...
hdu 1710 二叉樹遍歷
二叉樹的遍歷 先序遍歷 preorder tr ersal 先遍歷父節點,然後是左孩子,右孩子。中序遍歷 inorder tr ersal 先遍歷左孩子,然後是父節點,最後遍歷右孩子。後序遍歷 postorder tr ersal 先遍歷左孩子和右孩子,然後遍歷父節點。題目大意 給出乙個二叉樹的先序...
HDU 1710 二叉樹水題
傳送門 hdu 1710 水遞迴,記得以前剛學資料結構的時候還用結構體模擬字串做 用字串是通過string的find函式,這裡讀取的時候可以直接記錄先序遍歷的元素在中序中的位置 輸出左右子樹,然後輸出根 include include include using namespace std cons...