Adding and Removing made the most sense. It was easy to find the bad cases and then call the method again. I used a helper function for each method, made it easier to comply with other parameters from the assignment.
I'm still confused on the formatting of some things. I had used a few else statements after the if statement that was funding the base case, but had to remove most as it was causing an endless loop.
I also had to rewrite the reverse method a few times until I remembered to include a temporary counting variable. Will have to find more leet code problems to test myself going forward.