首页 > 其他 > 详细

Reverse Words in a String

时间:2016-02-24 10:44:20      阅读:159      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!