Leetcode 第151题 最新题解 Reverse Words in a String
2014-03-07 12:13
441 查看
Reverse Words in a String
Total Accepted: 67 TotalSubmissions: 412My Submissions
Given an input string, reverse the string word by word.
For example,
Given s = "
the sky is blue",
return "
blue is sky the".
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.
Leetcode 很久没有更新题目了。太巧了,今天刚刚说150道题结贴,就出新题了,呵呵。
好吧,第一时间贴上来。
思路:
1 从后往前遍历string
2 保存单词,然后需要逆转,在保存到结果中
注意题目中的clarification,处理好其中的空格。
利用了两个额外string保存中间结果。空间复杂度为O(n).
时间复杂度是O(n),简单题目:2到3星级
void reverseWords(string &s) { string rs; for (int i = s.length()-1; i >= 0; ) { while (i >= 0 && s[i] == ' ') i--; if (i < 0) break; if (!rs.empty()) rs.push_back(' '); string t; while (i >= 0 && s[i] != ' ') t.push_back(s[i--]); reverse(t.begin(), t.end()); rs.append(t); } s = rs; }
相关文章推荐
- Leetcode 第151题 Reverse Words in a String
- leetcode JAVA Reverse Words in a String 难度系数2-3?最新题151
- 【leetcode题解】1 - Reverse Words in a String
- leetcode JAVA Reverse Words in a String 难度系数2-3?最新题151
- [LeetCode]题解(python):151-Reverse Words in a String
- LeetCode题解——Reverse Words in a String
- 【leetcode】Reverse Words in a String(Java)
- 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 反转单词
- 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解题方案--151--Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- LeetCode——Reverse Words in a String
- [leetcode]151. Reverse Words in a String@Java解题报告
- LeetCode Reverse Words in a String