流量统计网站推广法,临沧市住房和城乡建设网站,三国类网页游戏前十名,网站seo优化方案项目策划书本文主要向大家介绍了JAVA语言实现二叉树生成的代码教程#xff0c;通过具体的内容向大家展示#xff0c;希望对大家学习JAVA语言有所帮助。给定某二叉树三序遍历中的两个#xff0c;我们即可以通过生成该二叉树#xff0c;并遍历的方法#xff0c;求出剩下的一序#xf…本文主要向大家介绍了JAVA语言实现二叉树生成的代码教程通过具体的内容向大家展示希望对大家学习JAVA语言有所帮助。给定某二叉树三序遍历中的两个我们即可以通过生成该二叉树并遍历的方法求出剩下的一序具体代码如下package Tree;import java.io.BufferedInputStream;import java.util.*;public class BT {class Node{Node l;//左儿子Node r;//右儿子char c;//结点字符public Node(char c) {this.c c;this.l null;this.r null;}}Node root;char[] str1,str2;public BT() {root null;}public void postOrder(Node n) {if(n.l!null) {postOrder(n.l);}if(n.r!null) {postOrder(n.r);}System.out.print(n.c);}public void firstOrder() {this.firstOrder(this.root);}public void firstOrder(Node n) {System.out.print(n.c);if(n.l!null) {firstOrder(n.l);}if(n.r!null) {firstOrder(n.r);}}public void postOrder() {this.postOrder(this.root);}public Node build(int s1,int e1,int s2,int e2) {char c str1[s1];Node Root new Node(c);int index 0;for(int i s2;ie2;i) {if(str2[i]c) {index i;break;}}if(index!s2) {//如果左子树不为空Root.l build(s11,s1index-s2,s2,index-1);}if(index!e2) {//如果右子树不为空Root.r build(s1index-s21,e1,index1,e2);}return Root;}public Node build1(int s1,int e1,int s2,int e2) {//中后序还原树char c str2[e2];Node Root new Node(c);int index 0;for(int i s1;ie1;i) {if(str1[i]c) {index i;break;}}if(index!s1) {Root.l build1(s1,index-1,s2,s2index-s1-1);}if(index!e1) {Root.r build1(index1,e1,s2index-s11,e2-1);}return Root;}public static void main(String[] args) {String s1,s2 null;Scanner sc new Scanner(new BufferedInputStream(System.in));BT bt new BT();while(sc.hasNext()) {s1 sc.next();s2 sc.next();bt.str1 new char[s1.length()];bt.str2 new char[s1.length()];bt.str1 s1.toCharArray();bt.str2 s2.toCharArray();bt.root bt.build1(0, s1.length()-1, 0, s1.length()-1);bt.firstOrder();}}}其中build是已知前中序生成二叉树build1是已知中后序生成二叉树.本文由职坐标整理并发布希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道