重建二叉樹(中後序求前序)

2021-09-08 18:18:48 字數 1129 閱讀 2074

時間限制:

難度:3

描述

題目很簡單,給你一棵二叉樹的後序和中序序列,求出它的前序序列(so easy!)。

輸入

輸入有多組資料(少於100組),以檔案結尾結束。 每組資料僅一行,包括兩個字串,中間用空格隔開,分別表示二叉樹的後序和中序序列(字串長度小於26,輸入資料保證合法)。

輸出每組輸出資料單獨佔一行,輸出對應得先序序列。

樣例輸入

acbfged abcdefg

cdab cbad

樣例輸出

dbacegf

bcad

**原創

題解:由中後序重建二叉樹,再輸出;

**:

#include#include

#include

#include

#include

#include

using

namespace

std;

struct

node

};int find(char *a , char

x) }

return0;

}node* build(int n, char *a, char *b)

void visit(node *root)

intmain()

return0;

}

其實也可以不建樹,直接輸出;

**:

#include#include

#include

#include

#include

#include

using

namespace

std;

/*struct node

};int find(char *a , char x)

}return 0;

}node* build(int n, char *a, char *b)

void visit(node *root)

*/void dfs(int n, char *a, char *b)

intmain()

return0;

}

6 3 3 二叉樹重建 已知前序和中序求後序

在一棵二叉樹總,前序遍歷結果為 dbacegf,中序遍歷結果為 abcdefg,求後序遍歷結果。我們知道 前序遍歷方式為 根節點 左子樹 右子樹 中序遍歷方式為 左子樹 根節點 右子樹 後序遍歷方式為 左子樹 右子樹 根節點 從這裡可以看出,前序遍歷的第乙個值就是根節點,然後再中序遍歷中找到這個值,...

前序 中序 後序遍歷結果重建二叉樹

源 已知一棵二叉樹的前序遍歷結果為,中序遍歷結果為為,請問這可二叉樹的後序遍歷結果是多少?對於這樣的題目,如果真的完全了解樹的前中後序的原理,其實是不難的。三種遍歷都是從根結點開始,前序遍歷是先列印在遞迴左和右,中序遍歷是先遞迴左,再列印,最後在遞迴右。所以前序遍歷結果為,第乙個數字1被列印出來,就...

二叉樹 已知前序和中序,求後序

題目描述 若某二叉樹的前遍歷訪問順序是序abdgcefh,中序遍歷順序是dgbaechf,則後序遍歷的訪問順序是什麼。若某二叉樹的前遍歷訪問順序是序abdgcefh,中序遍歷順序是dgbaechf,則後序遍歷的訪問順序是什麼。分析 首先要明確乙個基礎的問題,前序遍歷的順序是 根 左 右 中序遍歷的順...