剑指offer 翻转单词顺序列
来源:互联网 发布:mac 蓝牙鼠标漂移 编辑:程序博客网 时间:2024/05/20 11:27
题目描述
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
思路1:直接以每个字符翻转所有字符串
class Solution {public: string ReverseSentence(string str) { string res="",tmp=""; for(unsigned int i=0;i<str.size();i++){ if(str[i]==' ') res=" "+tmp+res, tmp=""; else tmp+=str[i]; } if(tmp.size()) res=tmp+res; return res; }};
思路2: 先翻转每个单词,然后翻转每个句子
void ReverseWord(string &str,int s,int e){ while(s<e) swap(str[s++],str[e--]);}string ReverseSentence(string str){ ReverseWord(str,0,str.size()-1); int s=0,e=0; int i=0; while(i<str.size()){ while(i<str.size()&&str[i]==' ') i++; e=s=i; while(i<str.size()&&str[i]!=' '){ i++; e++; } ReversWord(str,s,e-1); } return str;}
0 0
- 《剑指offer》翻转单词顺序列
- 剑指offer--翻转单词顺序列
- 剑指offer—翻转单词顺序列
- 剑指offer:翻转单词顺序列
- 剑指offer:翻转单词顺序列
- [剑指offer]翻转单词顺序列
- 剑指Offer--042-翻转单词顺序列
- 剑指offer题解 翻转单词顺序列
- 剑指offer|翻转单词顺序列
- 《剑指offer》-翻转单词顺序列
- 剑指offer 翻转单词顺序列
- 剑指offer-44.翻转单词顺序列
- 【剑指offer】翻转单词顺序列
- 《剑指offer》翻转单词顺序列
- 剑指offer-翻转单词顺序列
- 剑指offer--翻转单词顺序列
- 剑指offer:翻转单词顺序列
- 剑指offer 45 翻转单词顺序列
- 操作系统面试题总结
- 使用Vue.js制作仿Metronic高级表格(一)静态设计
- java 泛型详解
- SqlSugar框架T4模板的使用
- HDU 3951 Coin Game(博弈)
- 剑指offer 翻转单词顺序列
- 论文笔记:Two-level attention model for fine-grained Image classification
- 打包后崩溃要注意的小坑
- 十大基础实用算法补全——二分查找(BinSearch)
- Android爬坑之旅:软键盘挡住输入框问题的终极解决方案
- @RequestBody, @ResponseBody 注解详解
- Java实现冒泡排序
- 数据库水平分表
- POJ1696-Space Ant(凸包)