题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/description/
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc"
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
我又回来了!!学习笔记因为考试暂停了好久,惭愧惭愧。越来越菜了!
简单题还是得写一下。。
思路:遇到空格即将单词反转复制到另一个字符串上,最后一个单词特殊处理。
代码如下:
char* reverseWords(char* s) {
char t[1000000];
int len=strlen(s);
int flag=-1,k=0;
for(int i=0;i<len;i++){
if(s[i]==' '){
for(int j=i-1;j>flag;j--){//反转复制
t[k++]=s[j];
}
t[k++]=s[i];
flag=i;
}
}
for(int j=len-1;j>flag;j--){//特殊处理
t[k++]=s[j];
}
t[k]='\0';
strcpy(s,t);
return s;
}