package week01.basic; public class BinaryTreeNode<T extends Comparable> { private T data; private BinaryTreeNode left; private BinaryTreeNode right; public Object getData() { return data; } public void setData(T 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(T o){ return insert(this,o); } public BinaryTreeNode insert(BinaryTreeNode root,T o){ if(o.compareTo(root) >= 0){ if(root.left == null){ BinaryTreeNode binaryTreeNode = new BinaryTreeNode(); root.left = binaryTreeNode; binaryTreeNode.data = o; return binaryTreeNode; } return insert(root.left, o); } else{ if (root.right == null) { BinaryTreeNode binaryTreeNode = new BinaryTreeNode(); root.right = binaryTreeNode; binaryTreeNode.data = o; return binaryTreeNode; } return insert(root.right, o); } } }