用先根的方法建立一棵二叉树c语言,恳求大佬指点!!!首先标明空子树的先根遍历序列建立一棵二叉树...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

回复 甜味_猫 :

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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值