创建二叉树


class Node{
	String data;
	private Node lchild;
	private Node rchild;
	Node(String data){
		this.data = data;
	}
	public String getData(){
		return data;
	}
	public void setData(String data){
		this.data = data;
	}
	public Node getLchild(){
		return lchild;
	}
	public void setLchild(Node lchild){
		this.lchild = lchild;
	}
	public Node getRchild(){
		return rchild;
	}
	public void setRchild(Node rchild){
		this.rchild = rchild;
	}
}
public class BinaryTree  {
	private Node root;
	private String[] treeNodes;
	int index;
	
	public BinaryTree(String tree){
		root = new Node("");
		treeNodes = tree.split(",");
		index = 0;
		createTree(root);
	}
	/*
	 * 先序创建
	 */
	public Node createTree(Node node){
		String data = treeNodes[index];
		System.out.println("index"+index+"data"+data);
		index++;
		
		if(data.equals("#")){
			return null;
		}else{
			node.setData(data);
			node.setLchild(createTree(new Node("")));
			node.setRchild(createTree(new Node("")));
			return node;
		}
	}
	
	public Node getRoot(){
		return root;
	}
	
	public static void main(String[] args) {
		BinaryTree tree = new BinaryTree("A,B,#,D,#,#,C,#,#");
		Node node = tree.getRoot();
		System.out.println(node.getData());
	}

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值