How to reverse a string using a recursive function, without
swapping or using an extra memory?
Answer Posted / stephen
#include <iostream>
#include <string>
using namespace std;
char * reverse (char *); //function prototype
int length(char *); //function prptotype
int main()
{
int i;
char *str = new char[6], *rev = new char[6];
cin >> str;
strcpy(rev,reverse(str));
cout <<"Original "<< str << " reverse " << rev << endl;
free(str);
free(rev);
return 0;
}
int length(char *s)
{
int i;
for (i=0; *(s+i)!='\0' ; ++i);
return i;
}
char *reverse(char *s)
{
char *t;
int i, n;
n=length(s);
t = new char[n];
for (i=0; i<n; ++i)
{
*(t+i)=*(s+n-1-i);
}
*(t+i)='\0';
return t;
}
/*based off of answer 8 i took this an intialized the
pointers so that it would run, and switched it over to the
C++ standard output commands. His algorithm was correct, he
just forgot to setup the memory*/
| Is This Answer Correct ? | 10 Yes | 14 No |
Post New Answer View All Answers
what do you mean by inline function in C?
What is a null pointer assignment error? What are bus errors, memory faults, and core dumps?
I came across some code that puts a (void) cast before each call to printf. Why?
Explain the use of 'auto' keyword in c programming?
i have to apply for the rbi for the post of officers. i need to know abt the entrance questions whether it may be aps or techinical....
Explain what is the difference between null and nul?
What is spark map function?
What are the advantages of c preprocessor?
Explain what is a const pointer?
What are the types of unary operators?
What is floating point constants?
What is union in c?
How can you return multiple values from a function?
Why & is used in c?
How do you view the path?