翻轉單詞順序列

2021-09-26 02:36:25 字數 1449 閱讀 2331

題目描述

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,「student.

a am i」。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是「i am a student.」。cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?

思路1:先根據空格劃分存到list中,再對list反轉

def reversesentence(self, s):

# write code here

if not s:

return ""

l =

j = 0

n = len(s)

#l=s.split(' ')

for i in range(n):

if s[i] == ' ':

j = i + 1

begin = 0

end = len(l) - 1

while begin <= end:

l[begin], l[end] = l[end], l[begin]

begin += 1

end -= 1

return ' '.join(l)

思路2:先整體反轉,再根據空格切分區域性反轉

def reverse(self, s, begin, end):

if not s:

return none

while begin <= end:

s[begin], s[end] = s[end], s[begin]

begin += 1

end -= 1

return s

def reversesentence(self, s):

# write code here

if not s:

return ""

revs = self.reverse(list(s), 0, len(s) - 1)

begin = 0

end = 0

while begin <= len(s) - 1:

if revs[begin] == ' ':

begin += 1

end += 1

elif revs[end] == ' ':

self.reverse(revs, begin, end-1)

end += 1

begin = end

elif end == len(s)-1:

self.reverse(revs, begin, end)

end += 1

begin = end

else:

end += 1

return "".join(revs)

翻轉單詞順序列

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

翻轉單詞順序列

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

翻轉單詞順序列

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