Reverse Words in a String
2014-04-24 10:57
387 查看
Given an input string, reverse the string word by word.
For example,
Given s = "
return "
For example,
Given s = "
the sky is blue",
return "
blue is sky the".
class Solution { public: void reverseWords(string &s) { reverseWords1(s); } void reverseWords1(string &s) { istringstream is(s); string word; vector<string> vs; while (is >> word) vs.push_back(word); reverse(vs.begin(), vs.end()); ostringstream os; for (int i = 0; i < vs.size(); i++) { if (i != 0) os << " "; os << vs[i]; } s = os.str(); } void reverseWords2(string &s) { string res; int i = s.size() - 1; while (i >= 0) { while (i >= 0 && s[i] == ' ') i--; if (i < 0) break; string tmp; while (i >= 0 && s[i] != ' ') tmp.push_back(s[i--]); reverse(tmp.begin(), tmp.end()); if (!res.empty()) res.push_back(' '); res.append(tmp); } s = res; } };
相关文章推荐
- Reverse Words in a String
- Reverse Words in a String II
- [LeetCode OJ 1] Reverse Words in a String
- LeetCode -- Reverse Words in a String
- [Leetcode][JAVA] Reverse Words in a String
- leetcode - Reverse Words in a String
- 【LEETCODE】Reverse Words in a String
- LeetCode *** 151. Reverse Words in a String
- leetcode Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- 【leetcode】Reverse Words in a String
- LeetCode OJ 之 Reverse Words in a String (翻转字符串的单词)
- Reverse Words in a String
- LeetCode LeetCode 186 - Reverse Words in a String II
- [LintCode] Reverse Words in a String 翻转字符串中的单词
- [LeetCode]Reverse Words in a String
- Leetcode OJ : Reverse Words in a String
- Leetcode - string - Reverse Words in a String