//根據(jù)前序中序遍歷結(jié)果不斷遞歸查找打印出后序遍歷結(jié)果
//來自POJ2255
#include <iostream>
#include <cstdio>
#include <cstring>
//#include <string>
using namespace std;
void dfs(char*s1, char*s2, int length1, int length2)
{
if(length1 == 0)
return;
char root = s1[0];
int i;
for(i = 0; i < length2; i++)
{
if(s2[i] == root)
break;
}
dfs(s1+1,s2,i,i+1);
dfs(s1+i+1,s2+i+1,length1-i-1,length2-i+1);
printf("%c",root);
}
int main(void)
{
char s1[27], s2[27];
while(cin >> s1 >> s2)
{
dfs(s1,s2,strlen(s1),strlen(s2));
printf("\n");
}
return 0;
}
//==================================
//通過前序中序遍歷結(jié)果生成二叉樹再打印
#include<stdio.h>
#include<string.h>
typedef struct BiTNode
{
char data;
struct BiTNode *lc,*rc;
}BiTNode,*BiTree;
BiTree CreateBiTree(BiTree T,char* a,char* b,int n)
{
int i;
if(n == 0)
return NULL;
for(i=0;i<n;i++)
{
if(b[i]==a[0])//i為根節(jié)點下標
{
T->data=a[0];
T->lc=CreateBiTree(&T[1],&a[1],&b[0],i);
T->rc=CreateBiTree(&T[i+1],&a[i+1],&b[i+1],n-i-1);
break;
}
}
return T;
}
void last(BiTree q) //后序遍歷
{
if(!q) return;
last(q->lc);
last(q->rc);
printf("%c",q->data);
}
int main()
{
BiTNode tree[30];
char a[30],b[30];
while(scanf("%s%s",a,b)==2)
{
memset(tree,'\0',sizeof(tree));
CreateBiTree(tree,a,b,strlen(a));
last(tree);
printf("\n");
}
return 0;
}
關(guān)于樹的遍歷(遞歸)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倔丈,“玉大人憨闰,你說我怎么就攤上這事⌒栉澹” “怎么了宏邮?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長煞赢。 經(jīng)常有香客問我吹截,道長弟断,這世上最難降的妖魔是什么刘急? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮边篮,結(jié)果婚禮上凌受,老公的妹妹穿的比我還像新娘智蝠。我一直安慰自己殴泰,他們只是感情好于宙,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悍汛,像睡著了一般捞魁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上离咐,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼梧宫!你這毒婦竟也來了接谨?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站侥猬,受9級特大地震影響例驹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜退唠,卻給世界環(huán)境...
- 文/蒙蒙 一鹃锈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瞧预,春花似錦屎债、人聲如沸仅政。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽圆丹。三九已至,卻和暖如春躯喇,著一層夾襖步出監(jiān)牢的瞬間运褪,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- preorder and inorder 思路:先從root開始一路沿著left把節(jié)點push到stack里劣欢,讀出...
- 一价脾、生成二叉樹 新建一個類: 生成二叉樹方法: 生成二叉樹: 二牧抵、前序遍歷 前序遍歷:訪問順序是【根節(jié)點】-【左孩...
- #pragma mark - 樹的結(jié)構(gòu)體 typedef struct BiNode{ int data; ...
- 樹的簡介 棧犀变、隊列、鏈表等數(shù)據(jù)結(jié)構(gòu)秋柄,都是順序數(shù)據(jù)結(jié)構(gòu)获枝。而樹是非順序數(shù)據(jù)結(jié)構(gòu)。樹型結(jié)構(gòu)是一類非常重要的非線性結(jié)構(gòu)骇笔。直...
- 有人想要成為賺錢的姑娘:有錢要趁早,不想因為錢對誰低三下四旭旭,也不想因為錢而為難谎脯。希望在父母生病時我可以分擔;孩子需...