题解 | 单词倒排
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s);
int len = s.length();
for(int i = len-1;i>=0;i--){
if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')){
// s[i] = ' ';
continue;
}
else{
s[i] = ' ';
for(int j = i+1;j<len;j++){
if(s[j]==' '||s[j]=='\0'){
break;
}
cout<<s[j];
}
cout<<' ';
}
}
for(int i = 0;s[i]!=' '&&s[i]!='\0';i++){
cout<<s[i];
}
return 0;
}
// 64 位输出请用 printf("%lld")
逆序遍历,与第一周那个题不同的是,需要判断非法字符,让非法字符变为空格即可,
活动地址https://www.nowcoder.com/discuss/726480854079250432
#牛客春招刷题训练营#
传音控股公司福利 360人发布