題目描述
牛客最近來了乙個新員工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...