According to Wikipedia
Deleting a node with two children: Call the node to be deleted N. Do not delete N. Instead, choose either its in-order successor node or its in-order predecessor node, R. Copy the value of R to N, then recursively call delete on R until reaching one of the first two cases. http://en.wikipedia.org/wiki/Binary_search_tree#Deletion
You can try by successor node as follows:
- get successor of node to delete (current)
- connect parent of current to successor
- connect successor to the left child for current
For more details check out this link