LeetCode—Python—557. 反转字符串中的单词 III

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IOT_victor/article/details/88091898

1题目描述

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

示例 1:

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

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

2解决思路

①逆序

split()指定分隔符对字符串进行切片

str.split(str="", num=string.count(str))
  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。默认为 -1, 即分隔所有。

③逆序

join()将序列中的元素以指定的字符连接生成一个新的字符串

s = "Let's take LeetCode contest"

print(s[::-1])
print(s[::-1].split()) # split函数,默认以空字符分割
print(s[::-1].split()[::-1])
str = s[::-1].split()[::-1]
print(' '.join(str))
tsetnoc edoCteeL ekat s'teL
['tsetnoc', 'edoCteeL', 'ekat', "s'teL"]
["s'teL", 'ekat', 'edoCteeL', 'tsetnoc']
s'teL ekat edoCteeL tsetnoc

3代码实现

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        return ' '.join(s[::-1].split()[::-1])

猜你喜欢

转载自blog.csdn.net/IOT_victor/article/details/88091898