Reverse Words in a String

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Reverse Words in a String相关的知识,希望对你有一定的参考价值。

Given an input string, reverse the string word by word.

  • For example,
    Given s = “the sky is blue”,
    return “blue is sky the”.

  • Update (2015-02-12):
    For C programmers: Try to solve it in-place in O(1) space.

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.

翻转字符串,可是字符串中的单词字母顺序不变,还要注意空格哦。Python代码例如以下:

class Solution:
    # @param s, a string
    # @return a string
    def reverseWords(self, s):
        if len(s) == 0:
            return ""

        ret = ""
        start = False
        begin = end = 0
        start = False

        for i in range(len(s)):
            if s[len(s) - i - 1] != ‘‘ and s[len(s) - i - 1] != ‘ ‘ and end == 0:
                end = len(s) -i

            if end != 0 and (s[len(s) - i - 1] == ‘ ‘ or i == (len(s) - 1)):
                begin = len(s) -i
                if not start:
                    if i == (len(s) - 1) and s[begin -1] != ‘ ‘:
                        begin -= 1
                    ret += s[begin:end]
                    start = True
                else:
                    if i == (len(s) - 1) and s[begin -1] != ‘ ‘:
                        begin -= 1
                    ret += " " + s[begin:end]
                begin = 0
                end = 0


        return ret

以上是关于Reverse Words in a String的主要内容,如果未能解决你的问题,请参考以下文章

186. Reverse Words in a String II

LeetCode Reverse Words in a String III

4.Reverse Words in a String III

Reverse Words in a String leetcode

leetcode557. Reverse Words in a String III

Reverse Words in a String--not finished yet