http://www.csee.umbc.edu/courses/und.../Trees/BST.pdf
Read those lecture notes. They literally have the remove method in them. So assuming the rest of your code is correct, look at the remove method in those notes and compared it to your delete method. Once you figure out whats different, try to figure out why your code is wrong. If you can't, point out the sections of your code where its different from the correct remove() method and ask us for some help from there. Good luck