public class Test1 {
public static void main(String[] args) throws InterruptedException {
String perOrderStr = "ABHFDECKG";//前序序列
String inOrderStr = "HBDFAEKCG";//中序序列
BiTree node = createBiTree(perOrderStr, inOrderStr);
//輸出前序遍歷驗證正確性
BiTree.preOrdertrasver(node);
}
static class BiTree {
char data;
BiTree left;
BiTree right;
public BiTree(char data) {
this.data = data;
}
public static void preOrdertrasver(BiTree tree) {
if (tree != null) {
System.out.print(tree.data);
preOrdertrasver(tree.left);
preOrdertrasver(tree.right);
}
}
}
static BiTree createBiTree(String preOrderStr, String inOrderStr) {
if (preOrderStr.length() == 0 || inOrderStr.length() == 0) {
return null;
}
//樹的根節(jié)點
char root = preOrderStr.charAt(0);
//創(chuàng)建節(jié)點
BiTree node = new BiTree(root);
//左右子樹的根節(jié)點索引
int index = inOrderStr.indexOf(root);
//左子樹str
String leftSubTreeStr = inOrderStr.substring(0, index);
//右子樹str
String rightSubTreeStr = inOrderStr.substring(index + 1);
node.left = createBiTree(preOrderStr.substring(1, index + 1), leftSubTreeStr);
node.right = createBiTree(preOrderStr.substring(index + 1), rightSubTreeStr);
return node;
}
}
使用前序和中序構(gòu)造二叉樹
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 描述 根據(jù)前序遍歷和中序遍歷樹構(gòu)造二叉樹. 注意事項 你可以假設(shè)樹中不存在相同數(shù)值的節(jié)點 樣例 給出中序遍歷:[1...
- 前序遍歷和中序遍歷樹構(gòu)造二叉樹 解題思路:通過前序遍歷可以找到根節(jié)點,然后遍歷中序遍歷數(shù)組找到根節(jié)點的位置,分別計...
- 文/如如我慧 這幾天霧霾很重,人的心也蒙了層厚厚的灰,加上今天連綿的小雨,潮濕在蔓延??戳撕脠笸瑢W(xué)寫的《無聲的告白...
- 在離開校園踏入社會的那一刻起,迷茫伴隨著大多數(shù)人,擇業(yè)、就業(yè),再擇業(yè)、在就業(yè),似乎一直屢見不鮮。大部分人在經(jīng)歷了幾...