给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
char * reverseWords(char * s){
int len = strlen(s); //字符串长度,方便遍历
int q = 0; //主尺标1
while(q < len){ //遍历
int p = q; //副尺标2,方便对整个单词翻转
while(q < len && s[q] != ' '){ //找单词
q ++;
}
int l = p,r = q - 1; //翻转单词
while(l < r){
char tmp = s[l];
s[l] = s[r];
s[r] = tmp;
l ++;
r --;
}
while (q < len && s[q] == ' ') { //忽略空格
q++;
}
}
return s;
}