节点
public class TreeNode {
int val;
TreeNode right;
TreeNode left;
public TreeNode ( ) { } ;
public TreeNode ( int val) {
this . val = val;
}
public int getVal ( ) {
return val;
}
public void setVal ( int val) {
this . val = val;
}
public TreeNode getRight ( ) {
return right;
}
public void setRight ( TreeNode right) {
this . right = right;
}
public TreeNode getLeft ( ) {
return left;
}
public void setLeft ( TreeNode left) {
this . left = left;
} ;
}
添加节点
public class BinarySearchTree {
private TreeNode root= null;
public void add ( int data) {
TreeNode node = new TreeNode ( data) ;
if ( root == null) {
root = node;
return ;
}
TreeNode current = root;
while ( true ) {
if ( current. val == data) {
return ;
}
if ( current. val > data) {
if ( current. left == null) {
current. left = node;
return ;
}
current = current. left;
} else {
if ( current. right == null) {
current. right = node;
return ;
}
current = current. right;
}
}
}
public TreeNode getTreeNode ( ) {
return root;
}
public static void main ( String[ ] args) {
BinarySearchTree tree = new BinarySearchTree ( ) ;
tree. add ( 0 ) ;
tree. add ( 4 ) ;
tree. add ( 5 ) ;
tree. add ( 1 ) ;
System. out. println ( JSON. toJSONString ( tree. getTreeNode ( ) ) ) ; ;
}
}