package com.github.xiaozi123.coding2017.basic; public class BinaryTreeNode { private Object data; private BinaryTreeNode left; private BinaryTreeNode right; public Object getData() { return data; } public void setData(Object data) { this.data = data; } public BinaryTreeNode getLeft() { return left; } public void setLeft(BinaryTreeNode left) { this.left = left; } public BinaryTreeNode getRight() { return right; } public void setRight(BinaryTreeNode right) { this.right = right; } public BinaryTreeNode insert(Object o){ if (data==null) { this.setData(0); } if ((Integer)o<=(Integer)data) { if (left==null) { left=new BinaryTreeNode(); left.setData(o); return left; } return left.insert(o); }else{ if (right==null) { right=new BinaryTreeNode(); right.setData(o); return right; } return right.insert(o); } } @Override public String toString() { // TODO Auto-generated method stub return data+" "+left+" "+right; } public static void main(String[] args) { BinaryTreeNode binaryTreeNode=new BinaryTreeNode(); for (int i = 0; i < 5; i++) { binaryTreeNode.insert(i); } System.out.println(binaryTreeNode); } // 0 // 0 1 // null null null 2 // null 3 // null 4 // null null }