Write a recursive, string -valued  function, reverse, that accepts a string  and returns a new string  consisting of the original string  in reverse.

LANGUAGE: C++

CHALLENGE:

Write a recursive, string -valued  function, reverse, that accepts a string  and returns a new string  consisting of the original string  in reverse. For example, calling reverse with the string  goodbye returns the string  eybdoog.
Reversing a string  involves:
No action if the string  is empty or has only 1 character  (reversing a single character  string  does not change anything). Thus for empty and 1-character  strings , the reversed string  is just the string  itself.
Otherwise concatenate the last character  with the result of reversing the string  consisting of the second through the next-to-last character , followed by the first character . In the above example, you would concatenate the ‘e’ (last character  of goodbye) with the result of calling reverse on oodby (the string  from the second character  to the next-to-last), with the ‘g’ (first character ).

SOLUTION:


string reverse(string word){
    string temp = "";
    if(word.length() > 1){
        temp = word.substr(word.length()-1, word.length());
        temp += reverse(word.substr(0, word.length()-1));
    }else{
        return word;
    }
    return temp;
}