題目:

解答:
char* reverseWords(char* s)
{
int i = 0;
int len = 0;
int size = strlen(s);
char* ret = calloc(size + 1, sizeof(char));
for (i = size - 1; i >= 0; i--) {
if (s[i] != (char)' ') {
len += 1;
continue;
}
if (len > 0) {
strcat(ret, &s[i + 1]);
strcat(ret, " ");
}
len = 0;
s[i] = 0;
}
if (len > 0) {
strcat(ret, &s[i + 1]);
}
len = strlen(ret);
if (len && (ret[len - 1] == (char)' ')) {
ret[len - 1] = 0;
}
return ret;
}