版权声明:本文为博主原创文章,未经博主允许不得转载。 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])