The exercises in this section use the same logic as our basic binary search tree implementation. Do your best to recreate the functionality without looking at the previous code.
Implement copySubTree for the CharBST class. It should create a deep copy of a subtree rooted at the given node and return a pointer to the root of the new subtree.
Implement recursive helper function removeSmallestHelper for the CharBST class. It should find and remove the smallest value in a subtree rooted at the given node and return a pointer to the root of the modified subtree.
Finish the implementation of the recursive helper function removeHelper for the CharBST class. It should find and remove the specified value in a subtree rooted at the given node and return a pointer to the root of the modified subtree.