leetcode-557. 反转字符串中的单词 III

一、问题描述

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例 1:

输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc" 

注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

二、代码和思路

1.将字符串转换成列表

2.将两个空格间的字符倒序

3.将列表转换成字符串

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        s=list(s)
        i,j,n=0,0,len(s)
        while i<n:
            while i<n and s[i] !=' ':
                i += 1
            for k in range((i-j)//2):
                s[j+k],s[i-1-k]=s[i-1-k],s[j+k]
            i += 1
            j=i
        return ''.join(s)

三、运行结果