劍指 面試題58 1 翻轉單詞順序

2021-10-05 02:19:08 字數 1012 閱讀 2262

題目

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串"i am a student. 「,則輸出"student. a am i」。

思路1 兩次翻轉字串

從頭到尾,先翻轉字串中的每個單詞,再翻轉整個字串

思路2 雙指標, 記錄單詞表

c++ 思路1

class

solution

// 迴圈結束後,前k個即為所求

s.erase

(s.begin()

+k, s.

end())

;//只保留前k個

reverse

(s.begin()

, s.

end())

;return s;}}

;

python 思路2

class

solution

:def

reversewords

(self, s:

str)

->

str:

s = s.strip(

) i = j =

len(s)-1

res =

while i>=0:

while i >=

0and s[i]

!=' '

: i -=11

: j+1]

)while s[i]

==' '

: i -=

1 j = i

return

' '.join(res)

劍指offer 面試題58 1 翻轉單詞順序列

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student....

劍指Offer系列58 1 翻轉單詞順序

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...

面試題42 翻轉單詞順序

題目 牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a stude...