LeetCode: Reverse Words in a String
2014-04-28 12:26
302 查看
先来一个需要extra space的
再来个更好的
class Solution { public: void reverseWords(string &s) { vector<string> S; int pre = 0; string tmp = ""; for (int i = 0; i < s.size(); ++i) { if (isspace(s[i]) && tmp.size()) { S.push_back(tmp); tmp.clear(); } else if (!isspace(s[i])) tmp += s[i]; } if (tmp.size()) S.push_back(tmp); s.clear(); for (int i = S.size()-1; i >= 0; --i) { if (i == S.size() - 1) s += S[i]; else s = s + " " + S[i]; } } };
再来个更好的
class Solution { public: void reverseWords(string &s) { string rs; for (int i = s.size()-1; i >= 0; ) { while (i >= 0 && isspace(s[i])) i--; if (i < 0) break; if (rs.size()) rs += " "; string t; while(i >= 0 && !isspace(s[i])) t += s[i--]; int left = 0; int right = t.size()-1; while (left < right) swap(t[left++], t[right--]); rs += t; } s = rs; } };
相关文章推荐
- LeetCode刷题笔录Reverse Words in a String
- leetcode - [1]Reverse Words in a String
- leetcode 151 Reverse Words in a String
- LeetCode 151. Reverse Words in a String
- LeetCode---1.Reverse Words in a String
- LeetCode -- Reverse Words in a String
- Reverse Words in a String--LeetCode
- leetcode 151: Reverse Words in a String
- 【LEETCODE】Reverse Words in a String
- [LeetCode] Reverse Words in a String
- [leetcode]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 [151]
- [C++]LeetCode: 107 Reverse Words in a String (2014腾讯实习笔试题)
- [leetcode, python] Reverse Words in a String 反转字符串
- [LeetCode]Reverse Words in a String
- [leetcode] Reverse Words in a String
- LeetCode: Reverse Words in a String