151Reverse Words in a String
来源:互联网 发布:将mac照片导入移动硬盘 编辑:程序博客网 时间:2024/04/30 00:39
151 Reverse Words in a String
链接:https://leetcode.com/problems/reverse-words-in-a-string/
问题描述:
Given an input string, reverse the string word by word.
For example,
Given s = “the sky is blue”,
return “blue is sky the”.
Update (2015-02-12):
For C programmers: Try to solve it in-place in O(1) space.
click to show clarification.
Clarification:
What constitutes a word?
A sequence of non-space characters constitutes a word.
Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces.
How about multiple spaces between two words?
Reduce them to a single space in the reversed string.
Hide Tags String
这个问题就是以连续的字符为单位,颠倒顺序。C++中用string可以很简单的解决这个问题。首先介绍两个函数:1.int k1=string.find_last_not_of(“空格”);是寻找string字符串中最后一个不是空格的字符的索引,返回值是int,未找到返回-1。2.int k2=string.find_last_of(“空格”);是寻找string字符串中最后的一个空格的索引,返回值是int,未找到返回-1。有了这两个函数可以很好的帮助解题,
当k1>k2,那么k2和k1之间的字符串就可以放在一个vector中。
当k2>k1时表示最后有空格,更新string。
当k2<0,表示没有空格了,直接把string放入vector就可以了,到这里循环就结束了。
每做一次操作string需要更新,string=string.substr(0,k2)。
class Solution {public: void reverseWords(string &s) { vector<string> arr; int k1=s.find_last_not_of(" "); int k2=s.find_last_of(" "); while(k1>=0) { if(k2<0) { arr.push_back(s); break; } if(k2<k1) arr.push_back(s.substr(k2+1,k1-k2)); s=s.substr(0,k2); k1=s.find_last_not_of(" "); k2=s.find_last_of(" "); } s=""; for(int i=0;i<arr.size();i++) s+=arr[i]+" "; s=s.substr(0,s.size()-1); }};
- LeetCode(151)Reverse Words in a String
- leetcode 151 Reverse Words in a String
- LeetCode: Reverse Words in a String [151]
- [leetcode 151] Reverse Words in a String
- leetcode-151 Reverse Words in a String
- 151Reverse Words in a String
- [LeetCode 151]Reverse Words in a String
- Leetcode 151:Reverse Words in a String
- 151Reverse Words in a String
- Reverse Words in a String - LeetCode 151
- 151-m-Reverse Words in a String
- leetcode[151]:Reverse Words in a String
- LeetCode---(151)Reverse Words in a String
- Leetcode 151 Reverse Words in a String
- LeetCode(151) Reverse Words in a String
- leetcode 151: Reverse Words in a String
- 151 Reverse Words in a String
- LeetCode 151 Reverse Words in a String
- HDU--2017
- CVPR 2015
- eclipse安装Hudson/Jenkins插件
- sql update
- 语音识别的基础知识与CMUsphinx介绍
- 151Reverse Words in a String
- Installing Boost on Ubuntu 安装
- Real VNC can't Connect 连不上
- perl脚本总结
- python-igraph 小试牛刀
- Python中的闭包实例详解
- Nodejs安装方法及npm安装其它组件问题:npm err
- 运行Fast R-CNN的代码
- 继续玩 Fast R-CNN