General algorithm: to delete N, if it has 2 subtrees, replace the value in N with the largest value in its left subtree and then delete the node with the largest value from its left subtree.
Note: the largest value has at most one subtree.
Why? It is the largest value: it doesn't have a right subtree.