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