LintCode_053_翻转字符串
来源:互联网 发布:程序员经常看的网站 编辑:程序博客网 时间:2024/06/08 14:38
问题描述
给定一个字符串,逐个翻转字符串中的每个单词。
说明
- 单词的构成:无空格字母构成一个单词
- 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括
- 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个
求解
首先将字符串整体翻转,然后逐个找到单词,再把单词翻转过来
class Solution {public: /** * @param s : A string * @return : A string */ string reverseWords(string s) { // Reverse the whole string first. reverse(s.begin(), s.end()); std::string::size_type begin = 0, end = 0, len = 0; while ((begin = s.find_first_not_of(" ", end)) != string::npos) { if ((end = s.find(" ", begin)) == string::npos) { end = s.length(); } // Reverse each word in the string. reverse(s.begin() + begin, s.begin() + end); // Shift the word to avoid extra space. move(s.begin() + begin, s.begin() + end, s.begin() + len); len += end - begin; if(len < s.length()) { s[len++] = ' '; } } s.resize(len ? len - 1 : 0); return s; }};
阅读全文
0 0
- LintCode_053_翻转字符串
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 字符串翻转
- DE-LiDAR TFmini 激光雷达测距
- Swift_泛型(inout、泛型函数<TypeName>..)
- VS2017 报错 fatal error RC1015: cannot open include file 'afxres.h'.
- appium点击坐标没有响应
- 【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析
- LintCode_053_翻转字符串
- js中的||与&&用法
- torch.autograd方法类Variable
- Collections工具类
- web工程过滤器和springMVC拦截器的一些总结
- 点击空白区域,隐藏软键盘
- 去掉video controls的下载按钮方法
- Android 8.0 尝鲜
- MySQL索引背后的数据结构及算法原理