码迷,mamicode.com
首页 > 其他好文 > 详细

Reverse Words in a String

时间:2016-02-24 10:45:00      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:http://www.cnblogs.com/gcczhongduan/p/5212100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!