leetcode 557. reverse-words-in-a-string-iii 反轉字符串中的單詞 III python3

時間: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])

總結:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章