题解 | #句子逆序#
句子逆序
https://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3
#include <iostream>
using namespace std;
#include<string>
int main() {
string str;
getline(cin,str);
int len=str.size();
string str1;
for(int i=len-1;i>=0;i--){
str1=str1+str[i];
}
string result;
string flag;
for(int i=0;i<len;i++){
if(str1[i]!=' '){
result+=str1[i];
}
else{
int len1=result.size();
for(int j=len1-1;j>=0;j--){
cout<<result[j];
}
cout<<" ";
result=flag;
}
}
int len2=result.size();
while(len2){
cout<<result[len2-1];
len2-=1;
}
}
这道题还是很好玩的,首先要接收带空格的字符串可以考虑使用getline函数,其次我先对接收到的字符串进行了逆序处理,再以空格作为判断条件,分别进行再次的逆序输出,期间我使用result来储存字符串,因此在最后一个字符串由于没有空格无法输出时,可以直接对result进行逆序输出,最终即可达成本题要求!
#牛客创作赏金赛#
查看15道真题和解析