寫的有點繁瑣,這次來個簡潔點的。
思路都是一樣的
給出一棵二叉樹的中序與後序排列。求出它的先序排列。(約定樹結點用不同的大寫字母表示,長度\le 8≤8)。
22行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。
11行,表示一棵二叉樹的先序。
輸入 #1複製
badc
bdca
輸出 #1複製
abcd
直接上**:思路簡單不解釋
#includeusing namespace std;
int n;
string pre,re,in;
void dfs(int rel,int rer,int inl,int inr)
int lenl = k-inl;
dfs(rel,rel+lenl-1,inl,inl+lenl-1);
dfs(rel+lenl,rer-1,k+1,inr);
}int main()
由中序和後序(前序)序列求前序(後序)序列
已知二叉樹的中序和後序 前序 序列可以唯一確定一顆二叉樹,例如,中序序列 1 2 3 4 5 6 後序序列 3 4 2 6 5 1 可以唯一確定一顆二叉樹,如下圖 思路是這樣的 我們知道對於一顆二叉樹,根節點是後序遍歷序列的最後乙個,找到根節點後,我們由中序遍歷的特點知道,中序序列中,根節點 左邊的...
已知先序中序序列求後序序列
way 1.由先序和中序遍歷序列確定一棵二叉樹,再後序遍歷得到後序序列。如何確定呢?1.根據先序遍歷的第乙個結點確定根節點 2.根據根節點在中序遍歷序列的位置分割出左右兩個子串行,即根節點的左右子樹 3.對左右子樹按此方法遞迴進行分解。定義二叉樹的資料結構 typedef struct treeno...
已知後序中序序列求先序序列
方法呢,與前一篇一樣,建樹或者不建樹皆可,這裡不做過多說明,直接show code。way 1.typedef struct treenode bintree struct treenode bintree buildtree char post,char in,int n way 2.const ...