2) std::reverse or operate it backwards (the user do not need to know)
1) Iterate trough the string and if you found a match, change it (that is what you are doing)
Recursive divide the string till you get just one character, change it if needed and "reassemble" (parallel processing) s/[aeiou]/z/g Regex