編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列、使用 o(1) 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。
示例 1:
輸入:[「h」,「e」,「l」,「l」,「o」]示例 2:輸出:[「o」,「l」,「l」,「e」,「h」]
輸入:[「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 方法二 不額外申請一片儲存字串的記憶體空間,通過中間變數來改變傳遞進來的字串裡...