先上题目
思路:循环读取数组,判断是否读到空格符号(注意:当为最后一个单词时会读取到‘\0’),设置两个标签分别标记每个单词的头部和尾部。头尾标签同逐个向中间移动交换字符。
代码部分
char* reverseWords(char* s) {
int i,left,right,len;
char temp;
left=0;
len=strlen(s);
for(i=0;i<=len;i++){
if(s[i]==' '||s[i]=='\0'){
right=i-1;
while(left<right){
temp=s[left];
s[left]=s[right];
s[right]=temp;
left++;
right--;
}
left=i+1;
}
}
return s;
}