Morgan Stanley Interview Question
AnalystsTeam: Morgan Stanley
Country: India
Interview Type: In-Person
char * strRev(char *s)
{
char *p,*q;
p=q=s;
while(*q!='\0') q++;
q--;
while(p<q)
{
*p=*p+*q; //Swapping Characters
*q=*p-*q;
*p=*p-*q;
p++;
q--
}
return s;
}
#include<stdio.h>
#include<string.h>
char* StrReverse(char* str)
{
char *temp, *ptr;
int len, i;
temp=str;
for(len=0; *temp !='\0';temp++, len++);
ptr=malloc(sizeof(char)*(len+1));
for(i=len-1; i>=0; i--)
*(ptr+len-i-1)=*(str+i);
*(ptr+len)='\0';
return ptr;
}
int main()
{
char string;
printf("enter the string to be reversed \n");
scanf("%s",string);
strReverse(string);
printf("the reversed string is %s",string);
}
#include<stdio.h>
#include<string.h>
char* StrReverse(char* str)
{
char *temp, *ptr;
int len, i;
temp=str;
for(len=0; *temp !='\0';temp++, len++);
ptr=malloc(sizeof(char)*(len+1));
for(i=len-1; i>=0; i--)
*(ptr+len-i-1)=*(str+i);
*(ptr+len)='\0';
return ptr;
}
int main()
{
char string;
printf("enter the string to be reversed \n");
scanf("%s",string);
rev = strReverse(string);
printf("the reversed string is %s",rev);
}
It seems they asked for in-place reversal. So.
- Anonymous September 17, 2011char * strRev(char *s)
{
char *p,*q;
p=q=s;
while(*q!='\0') q++;
q--;
while(p<q)
{
*p=*p+*q; //Swapping Characters
*q=*p-*q;
*p=*p-*q;
}
return s;
}