練習5 344 反轉字串

2021-09-11 19:35:43 字數 1086 閱讀 7348

編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列、使用 o(1) 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。

示例 1:

輸入:[「h」,「e」,「l」,「l」,「o」]

輸出:[「o」,「l」,「l」,「e」,「h」]

示例 2:

輸入:[「h」,「a」,「n」,「n」,「a」,「h」]

輸出:[「h」,「a」,「n」,「n」,「a」,「h」]

方法 一

class

solution

:def

reverse_list

(self, list_str)

:for i in

range(1

,len

(list_str)+1

):-i])

print

(list_str)

list_str.pop(

-(i+1)

)print

(list_str)

return list_str

方法 二:雙指標

class

solution

:def

reverse_list

(self, list_str)

:for i in

range

(len

(list_str)//2

):n =

0 j =

len(list_str)-1

while n <= j:

list_str[n]

, list_str[j]

= list_str[j]

, list_str[n]

n = n +

1 j = j -

1return list_str

演算法練習 反轉字串

先看看原題 編寫乙個函式,其作用是將輸入的字串反轉過來。示例 1 輸入 hello 輸出 olleh 示例 2 輸入 a man,a plan,a canal panama 輸出 amanap lanac a nalp a nam a 反向遍歷一遍字串中的所有字元,放在乙個陣列裡面,然後再遍歷一遍陣...

字串反轉

據說一道微軟的面試題,要求考慮時間和空間的優化,下面給出幾種通常字串反轉的方法 1 直接陣列操作 char strreverse char str return str 這種做法原來的str沒有儲存,原來的str也改變了 2 指標操作 char strreverse char str return ...

字串反轉

include include include 方法一 將第乙個字元和最後乙個互換,第二個和倒數第二個互換,如此依次迴圈下去 char strrev1 const char str return tmp free tmp 方法二 不額外申請一片儲存字串的記憶體空間,通過中間變數來改變傳遞進來的字串裡...