A utility function to insert a given key to BST
public static Node insert ( Node root , int key ) { if ( root == null ) { return newNode ( key ) ; } if ( root . data > key ) { root . left = insert ( root . left , key ) ; } else { root . right = insert ( root . right , key ) ; } return root ; }