Bloomberg LP Interview Question
Software Engineer / DevelopersAlternatively:
void reverseWord(char *s){
char *end = s + strlen(s) - 1;
char *wStart = s;
char *wEnd;
while(*wStart){
for(; *wStart && *wStart == ' '; wStart++);
for(wEnd = wStart; *wEnd && *wEnd != ' '; wEnd++);
reverseSubString(wStart, --wEnd);
wStart = ++wEnd;
}
reverseSubString(s, end);
}
void reverseSubString(char *start, char *end){
char tmp;
while (start<end){
tmp = *start;
*start = *end;
*end = tmp;
start++; end--;
}
}
- knakov April 12, 2007