package net.coding.basic; public class BinaryTreeNode { private int data; private BinaryTreeNode left; private BinaryTreeNode right; public int getData() { return data; } public void setData(int 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(int data) { this.data = data; } private BinaryTreeNode insertAt(BinaryTreeNode node, int o) { if (o < node.getData()) { if (node.getLeft() != null) { return insertAt(node.getLeft(), o); } else { BinaryTreeNode nowNode = new BinaryTreeNode(o); node.setLeft(nowNode); return nowNode; } } else { if (node.getRight() != null) { return insertAt(node.getRight(), o); } else { BinaryTreeNode nowNode = new BinaryTreeNode(o); node.setRight(nowNode); return nowNode; } } } public BinaryTreeNode insert(int o){ return insertAt(this, o); } @Override public String toString() { return "data: " + data; } }