创建二叉树


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());
	}

}

在这里插入图片描述

发布了110 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_39795049/article/details/89786090