您好,登錄后才能下訂單哦!
使用python3怎么翻轉(zhuǎn)字符串中的單詞點(diǎn)?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
給定一個(gè)字符串,逐個(gè)翻轉(zhuǎn)字符串中的每個(gè)單詞。
無空格字符構(gòu)成一個(gè) 單詞 。
輸入字符串可以在前面或者后面包含多余的空格,但是反轉(zhuǎn)后的字符不能包括。
如果兩個(gè)單詞間有多余的空格,將反轉(zhuǎn)后單詞間的空格減少到只含一個(gè)。
示例 1:
輸入:“the sky is blue”
輸出:“blue is sky the”
示例 2:
輸入:" hello world! "
輸出:“world! hello”
解釋:輸入字符串可以在前面或者后面包含多余的空格,但是反轉(zhuǎn)后的字符不能包括。
示例 3:
輸入:“a good example”
輸出:“example good a”
解釋:如果兩個(gè)單詞間有多余的空格,將反轉(zhuǎn)后單詞間的空格減少到只含一個(gè)。
示例 4:
輸入:s = " Bob Loves Alice "
輸出:“Alice Loves Bob”
示例 5:
輸入:s = “Alice does not even like bob”
輸出:“bob like even not does Alice”
傳統(tǒng)思路:先使用strip()
函數(shù)將首尾空格去掉;特別注意,中間的空格可能不止一個(gè)。采用雙指針,從后遍歷字符串,遇到的第一個(gè)空格,回退一個(gè)到j(luò)的位置就會(huì)取出一個(gè)字符串。
class Solution: def reverseWords(self, s: str) -> str: s = s.strip() i = len(s)-1 j = i+1 resverse = [] while i>=0: while i >= 0 and s[i] != ' ': i -= 1 resverse.append(s[i + 1: j]) while s[i] == ' ': i -= 1 j = i+1 return ' '.join(resverse).strip()
class Solution: def reverseWords(self, s: str) -> str: s = s.strip() s = s.split() s.reverse() return ' '.join(s)
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。