面試遇到的一個特無聊的問題~~~
要求:在Python環境下用盡可能多的方法反轉字符串,例如將s = "abcdef"反轉成 "fedcba"
第一種:使用字符串切片
result = s[::-1]
第二種:使用列表的reverse方法
l = list(s)
l.reverse()
result = "".join(l)
當然下面也行
l = list(s)
result = "".join(l[::-1])
第三種:使用reduce
result = reduce(lambda x,y:y+x,s)
第四種:使用遞歸函數
def func(s):
if len(s) <1:
return s
return func(s[1:])+s[0]
result = func(s)
第五種:使用棧
def func(s):
l = list(s) #模擬全部入棧
result = ""
while len(l)>0:
result += l.pop() #模擬出棧
return result
result = func(s)
第六種:for循環
def func(s):
result = ""
max_index = len(s)-1
for index,value in enumerate(s):
result += s[max_index-index]
return result
result = func(s)
只能想起來這么多了,還有嗎?