[LeetCode] Reverse Words in a String
2014-03-27 00:21
183 查看
Given an input string, reverse the string word by word.
For example,
Given s = "
return "
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.
上面是我自己的方法,用了stringstream这个流,头文件是<sstream>,搜了下别人的方法,也非常巧妙。
For example,
Given s = "
the sky is blue",
return "
blue is sky the".
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.
class Solution { public: void reverseWords(string &s) { stringstream str(s); string word, res; stack<string> stk; while(str >> word) stk.push(word); if(!stk.empty()) { res = stk.top(); stk.pop(); } while(!stk.empty()) { res += " "; res += stk.top(); stk.pop(); } s = res; } };
上面是我自己的方法,用了stringstream这个流,头文件是<sstream>,搜了下别人的方法,也非常巧妙。
class Solution { public: void reverseWords(string &s) { string res; for(int i = s.length() - 1; i >= 0; i--) { while(i >= 0 && s[i] == ' ') i--; if(i < 0) break; if(!res.empty()) res += " "; string t; while(i >= 0 && s[i] != ' ') t += s[i--]; reverse(t.begin(), t.end()); res += t; } s = res; } };
相关文章推荐
- LeetCode : Reverse Words in a String
- Leetcode 151. Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- leetcode-151 Reverse Words in a String
- leetcode-java-151. Reverse Words in a String
- [leetcode]Reverse Words in a String @ Python
- leetcode-Reverse Words in a String
- 将一个英文句子单词顺序逆置(LeetCode | Reverse Words in a String)
- [leetcode]Reverse Words in a String
- LeetCode -- ReverseWordsinaString
- python:leetcode之reverse words in a string
- LeetCode Reverse Words in a String 将串中的字翻转
- 20170225-leetcode-151-Reverse Words in a String
- leetcode[186]Reverse Words in a String II
- leetcode——Reverse Words in a String 旋转字符串中单词顺序(AC)
- LeetCode:Reverse Words in a String
- [LeetCode]Reverse Words in a String
- [LeetCode]Reverse Words in a String
- Reverse Words in a String - LeetCode 151
- [LeetCode] Reverse Words in a String