時間:2020-06-27
題目地址:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
題目難度:Easy
題目描述:
給定一個字符串,你需要反轉字符串中每個單詞的字符順序,同時仍保留空格和單詞的初始順序。
示例 1:
輸入: "Let's take LeetCode contest"
輸出: "s'teL ekat edoCteeL tsetnoc"
注意:在字符串中,每個單詞由單個空格分隔,並且字符串中不會有任何額外的空格。
思路1:使用api,分割成列表,列表遍歷反轉切片
代碼段1:通過
class Solution:
def reverseWords(self, s: str) -> str:
s = s.split()
for i in range(len(s)):
s[i] = s[i][::-1]
return ' '.join(s)
總結:老規矩,看下一行的代碼
class Solution:
def reverseWords(self, s: str) -> str:
return ' '.join(i[::-1] for i in s.split())
思路2:兩次切片反轉
代碼段2:通過
class Solution:
def reverseWords(self, s: str) -> str:
return ' '.join(s.split()[::-1])[::-1]
總結:秀
思路3:先反轉字符串,再反轉單詞列表
s[::-1] 反轉字符串:
“neeuq gard evol I”
代碼段3:通過
class Solution:
def reverseWords(self, s: str) -> str:
return ' '.join(s[::-1].split()[::-1])
總結:秀