https://oj.leetcode.com/problems/reverse-words-in-a-string/

给一个字符串 abc  dd  m,返回 m dd abc.

注意:输入中可能有前置或者后置空格,要求,都删除掉。输出的每个单词之间,空格大小为1.

class Solution {
public:
void reverseWords(string &s) {
if(s.empty())
return; //remove heading and trailing spaces
int i = ;
while(i<s.size() && s[i] == ' ')
i++;
if(i == s.size())
{
s = "";
return;
}
int j = s.size() - ;
while(j>- && s[j] == ' ')
j--;
if(j == -)
{
s = "";
return;
} s = s.substr(i,j - i + ); size_t pos = ;
vector<string> strs;
size_t begin = ;
while(begin < s.size())
{
pos = s.find_first_of(' ',begin);
if(pos == begin)
{
begin++;
continue;
}
else if(pos != -)
strs.push_back(s.substr(begin,pos - begin));
else //pos == -1, the end
{
strs.push_back(s.substr(begin,s.size() - - begin + ));
break;
}
begin = pos + ;
} string ans;
for(int i = strs.size() - ; i > ; i--)
{
ans += strs[i];
ans += " ";
}
ans += strs[]; s = ans;
}
};

最新文章

  1. git revert和reset区别
  2. 示例开发过程记录:meteor,react,apollo
  3. oracle中根据当前记录查询前一条和后一条记录
  4. iOS开发系列通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开
  5. Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
  6. 在CI中集成phpmailer,方便使用SMTP发送邮件
  7. Storm(1) - Setting Up Development Environment
  8. 2140: 稳定婚姻 - BZOJ
  9. PD name 和 comment 互换
  10. mfc开发问题_v1
  11. 08JS高级 ——“继承”
  12. Android 利用摄像头指尖测试心率
  13. java反射的理解与应用(某大神博客中看到的博文,写的真的太好了,果断转载作为笔记)
  14. 初探Matplotlib
  15. 巧用linux版powershell,管理linux下的docker
  16. 入门 Webpack,一篇就够了
  17. Codeforces551 C. GukiZ hates Boxes
  18. Json的序列化与反序列化以及乱入的k_BackingField
  19. super and this
  20. google搜索 site:pku.edu.cn inurl:aspx 即可查找所有动态网页 =====html(静态网页) asp(动态) jsp(动态) php(动态) cgi(网络程序) aspx(动态)

热门文章

  1. 力扣题目汇总(丑数,重复N的元素,求众数)
  2. Python3爬取起点中文网阅读量信息,解决文字反爬~~~附源代码
  3. 排列算法汇总(下一个排列,全排列,第K个排列)
  4. RAID与LVM磁盘阵列技术
  5. Go语言之并发编程(二)
  6. Android输入法弹出时覆盖输入框问题
  7. Spring boot 上传文件大小限制
  8. 拼多多2018校招编程题汇总 Python实现
  9. [oldboy-django][5python基础][高级特性]generator生成器
  10. HDU5862 Counting Intersections