翻转字符串
来源:互联网 发布:电视直播软件清晰度 编辑:程序博客网 时间:2024/05/16 04:37
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
思路:先翻转整体,再一个单词一个单词的翻转,判断是不是一个单词的末尾,用'' "
代码如下:
class Solution {public: string ReverseSentence(string str) { string result; int len = str.size(); if(len < 1) return result; int begin = 0; std::reverse(str.begin(),str.end()); for(int i = 0; i < len; i++){ if(str[i] == ' '){ std::reverse(str.begin() + begin, str.begin() + i);//注意reverse函数的区间为左闭右开 begin = i + 1; } } if(begin < len)//翻转最后一个单词 std::reverse(str.begin() + begin, str.end()); return str; }};
阅读全文
0 0
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 字符串翻转
- 2017 Multi-University Training Contest
- JAVA循环结构
- Android沉浸式状态栏实现
- Android初级开发(四)——补充1、Video View的应用
- linux开发之交叉编译器环境搭建系统兼容的问题
- 翻转字符串
- Java 关于 equals与操作符==的区别
- 这篇关于bitset类型的
- 算法系列——Group Anagrams
- ejs 中如length为0 会报错,要过滤一下,并不是和原有的div完全一样的;
- 编译Hadoop并给HBase应用Snappy本地库
- 开发中的辅助工具
- Bootstrap—轻松制作漂亮表格(table)
- Dijkstra&&Floyd