今天在刷题的过程看到一位大神写的代码
2017-04-26 21:53
239 查看
题目描述
对字符串中的所有单词进行倒排。
说明:
1、每个单词是以26个大写或小写英文字母构成;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
输入例子:
I am a student
输出例子:
student a am I
巧妙的利用流提取符>>去掉多余的空格!
哎!自己要学的还有很多啊!
对字符串中的所有单词进行倒排。
说明:
1、每个单词是以26个大写或小写英文字母构成;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
输入例子:
I am a student
输出例子:
student a am I
我的代码
#include <iostream> #include <string> using namespace std; void func10(string str) { int i; string temp; for (int i = 0; i < str.size(); ++i) { if (str[i] < 'A' || (str[i] > 'Z' && str[i] < 'a') || str[i] > 'z') { str[i] = ' '; } } while (str.size() > 0) { int pos = str.find_last_of(' '); if (pos == -1) { temp += str; break; } temp += str.substr(pos + 1); i = pos; if (str[i] == ' ') { temp += " "; while (str[i] == ' ') { --i; } } str = str.substr(0, i + 1); } cout << temp << endl; } int main() { string str; while (getline(cin, str)) { func10(str); } return 0; }
大神代码
void deal(vector<string>&res,string& str, char delim = ' ') { stringstream ss; ss << str; string tmp; while (ss>>tmp) { res.push_back(tmp); } } int main() { string str; while (getline(cin, str)) { vector<string> res; for (int i = 0; i < str.size(); i++) if (!isalnum(str[i])) str[i] = ' '; deal(res, str); cout << res[res.size() - 1]; for (int i = res.size() - 2; i >= 0; i--) cout << " " << res[i]; cout << endl; } return 0; }
巧妙的利用流提取符>>去掉多余的空格!
哎!自己要学的还有很多啊!
相关文章推荐
- 对生成对抗网络GANs原理、实现过程、应用场景的理解(附代码),另附:深度学习大神文章列表
- 今天看到的一篇js屏蔽键盘的代码,经典!
- 看代码的过程中经常看到promote()调用,简单记录refbase
- 今天在做HDU1495的时候看到了一个代码
- 聊聊成为大神路上的过程(关键因素是[刻意练习]的程度,简单重复没有用,要多看别人的代码)
- 今天看到的一段PHP代码,好几遍才懂
- 今天在群里看到有人分享了一段搞笑的注释代码,觉得挺好玩的,
- 求解SSH注解版物流内部管理项目中前台、后台、数据库之间的交互过程和关键代码,麻烦大神给解答下
- 早就看到 www.csblogs.com 博客园展示的代码非常优秀,今天申请一个 纪念一下先.
- 今天运行代码过程中解决的几个问题
- [转]今天看到的一篇js屏蔽键盘的代码,经典!
- 今天看到的一个犀利的带符号字符串一起反转的代码
- [转]今天看到的一篇js屏蔽键盘的代码,经典!
- 今天我看到一段代码!!!神一样的代码,欢迎大家吐槽!!!
- 时间滚动选择器---csdn收集的大神代码,忘了是哪位大神了,共享下,看到的都可以用
- 今天自己写的MySQL自定义JDBCUtils代码编写过程详解.
- 今天看到的一篇js屏蔽键盘的代码,经典!
- 看到一段大神的代码 condition1&condtion2&doSomething
- PHP调用MySQL的存储过程的实现代码
- 伸展树扩展(splay)过程,代码结合图片讲解