java中先序创建一棵树,恳求大佬指点!!!首先标明空子树的先根遍历序列建立一棵二叉树...
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
回復 甜味_貓 :
public class BiTree {
private BiTreeNode root;
public BiTree(String str) {
String s = str.replaceAll("#", "");
char[] chars = s.toCharArray();
root = new BiTreeNode(chars[0] + "");
root.setLchild(new BiTreeNode(chars[1] + ""));
root.setRchild(new BiTreeNode(chars[2] + ""));
root.getLchild().setLchild(new BiTreeNode(chars[3] + ""));
}
public void preRootTraverse() {
if (root != null) {
root.preRootTraverse();
} else {
System.out.println("二叉樹為空");
}
}
}
class BitreeDemo{
public static void main(String[] args) {
String str = "AB##CD###";
BiTree biTree = new BiTree(str);
biTree.preRootTraverse();
}
}
class BiTreeNode{
@Override
public String toString() {
return "BiTreeNode{" +
"value='" + value + '\'' +
'}';
}
private String value;
private BiTreeNode lchild;
private BiTreeNode rchild;
//前序遍歷
public void preRootTraverse(){
System.out.println(this.toString());
if(this.lchild != null) {
this.lchild.preRootTraverse();
}
if(this.rchild != null) {
this.rchild.preRootTraverse();
}
}
public BiTreeNode(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public BiTreeNode getLchild() {
return lchild;
}
public void setLchild(BiTreeNode lchild) {
this.lchild = lchild;
}
public BiTreeNode getRchild() {
return rchild;
}
public void setRchild(BiTreeNode rchild) {
this.rchild = rchild;
}
}
總結
以上是生活随笔為你收集整理的java中先序创建一棵树,恳求大佬指点!!!首先标明空子树的先根遍历序列建立一棵二叉树...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java main 方法不能执行,And
- 下一篇: 大厂php怎么做前端,大厂前端经典面试问