leetcode Reverse Words in a String III 反转字符串中的单词
2017-09-22 23:37
531 查看
Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.
Example 1:
Input: “Let’s take LeetCode contest”
Output: “s’teL ekat edoCteeL tsetnoc”
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
思路:将字符串通过空格分成各个单词,然后依次反转
下面是leetcode上看到的一个答案,代码很清晰
Example 1:
Input: “Let’s take LeetCode contest”
Output: “s’teL ekat edoCteeL tsetnoc”
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
思路:将字符串通过空格分成各个单词,然后依次反转
class Solution { public: string reverseWords(string s) { if (s.length() == 0) return s; int begin = 0, end = 0; while (end < s.length() - 1) { int i = begin; for (; i < s.length(); ++i) if (s[i] == ' ' || i == s.length() - 1) break; if (i == s.length() - 1) end = i; else end = i - 1; s = reverse(s, begin, end); begin = i + 1; } return s; } string reverse(string s, int begin, int end) { char temp; for (int i = begin; i <= (end + begin) / 2; ++i) { temp = s[i]; s[i] = s[end + begin - i]; s[end + begin - i] = temp; } return s; } };
下面是leetcode上看到的一个答案,代码很清晰
class Solution { public: string reverseWords(string s) { for (int i = 0; i < s.length(); i++) { if (s[i] != ' ') { int j = i; for (; j < s.length() && s[j] != ' '; j++) { } reverse(s.begin() + i, s.begin() + j); i = j - 1; } } return s; } };
相关文章推荐
- [LeetCode] Reverse Words in a String III 翻转字符串中的单词之三
- 【LeetCode】Reverse Words in a String 反转字符串中的单词
- 【LeetCode-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】
- LeetCode | Reverse Words in a String(字符串中的单词序反转)
- [leetcode, python] Reverse Words in a String 反转字符串
- [leetcode, python] Reverse Words in a String 反转字符串
- [Leetcode] reverse words in a string 反转单词
- 字符串反转 reverse-words-in-a-string @LeetCode
- Reverse Words in a String III 翻转字符串中的单词之三
- [leetcode, python] Reverse Words in a String 反转字符串
- LeetCode刷题:Reverse Words in a String(翻转字符串中的单词)
- [LeetCode]Reverse Words in a String-反转单词
- LeetCode 557. Reverse Words in a String III (反转字符串中的单词 III)
- LeetCode Reverse Words in a String(反转字符串)
- 字符串-leetcode 557 Reverse Words in a String III
- [leetcode, python] Reverse Words in a String 反转字符串
- leetcode——Reverse Words in a String 旋转字符串中单词顺序(AC)
- LeetCode 557 Reverse Words in a String III(逆转字符串)
- [leetcode, python] Reverse Words in a String 反转字符串
- LeetCode:151_Reverse Words in a String | 字符串中单词的逆反 | Medium