implement BST

class BinarySearchTree{
	class Node{
		int val;
		Node left;
		Node right;

		public Node(int x){
			val = x;
		}
	}

	Node root;

	public BinarySearchTree(){
		root = null;
	}

	public void insert(int key){
		root = insertHelp(root,key);
	}

	public Node insertHelp(Node root, int key){
		if (root == null) {
			root = new Node(key);
			return root;
		}

		if (key< root.val) {
			root.left = insertHelp(root.left,key);
		}

		else if(key > root.val){
			root.right = insertHelp(root.right,key);
		}

		return root;
	}

	public Node search(int key){
		
		return searchHelp(root,key);

	}

	public Node searchHelp(Node root, int key){
		if (root == null || root.key == key) {
			return root;
		}

		if (root.key > key) {
			return search(root.left,key);
		}

		return search(root.right,key);
	}

	public Node delete(int key){
		//refer leetcode delete node in BSR
	}
}

Last updated