fork download
  1. #include <string>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. string reverse_helper(string& s,int length,int start=0){
  6.  
  7. if (start>=length){
  8. return s;
  9. }
  10. else{
  11. char temp=s[length];
  12. s[length]=s[start];
  13. s[start]=temp;
  14. reverse_helper(s,--length,++start);
  15. }return s;
  16. }
  17.  
  18. string reverse(string str, int length, int start=0)
  19. {
  20. return reverse_helper(str, length, start);
  21. }
  22.  
  23. int main(void) {
  24.  
  25. string a = "This is a long string";
  26. cout<<reverse(a,a.length()-1,0) << "\n";
  27. cout << "original string: " << a;
  28. }
Success #stdin #stdout 0s 3228KB
stdin
Standard input is empty
stdout
gnirts gnol a si sihT
original string: This is a long string