Reverse a string with recursion: build it from the reversed rest, or swap the ends in place.
This interactive visualization needs JavaScript.