看到題目的第一反應,好簡單啊,直接將第乙個與最後乙個對調,第二個與倒數第二個對調不就搞定了?
不過這樣時間和空間上複雜度肯定會高一點,結果也不出所料:
執行用時: 216 ms
在reverse string的python3提交中擊敗了8.11% 的使用者
記憶體消耗: 17.6 mb
在reverse string的python3提交中擊敗了1.18% 的使用者
**:
class
solution
:def
reversestring
(self, s)
->
none
:"""
do not return anything, modify s in-place instead.
"""l =
len(s)
l = l//
2 i =
0while i < l:
x = s[i]
s[i]
= s[
-(i+1)
] s[
-(i+1)
]= x
i +=
1return s
執行用時: 204 ms
在reverse string的python3提交中擊敗了9.44% 的使用者
記憶體消耗: 17.5 mb
在reverse string的python3提交中擊敗了1.18% 的使用者
class
solution
:def
reversestring
(self, s: list[
str])-
>
none
:"""
do not return anything, modify s in-place instead.
"""s[::
1]= s[::
-1]
看了一下以前提交的那些人的**,發現比較快的都是沒在原給s
陣列的基礎上該的,而是反向切片返回了倒序的陣列。。。可能是因為現在的規則是新改的把。 344 反轉字串
一.題目 編寫乙個函式,其作用是將輸入的字串反轉過來。示例 1 輸入 hello 輸出 olleh 示例 2 輸入 a man,a plan,a canal panama 輸出 amanap lanac a nalp a nam a 二.思路及 這個屬於比較簡單的字串題。法1 新建乙個空字串,將舊字...
344 反轉字串
編寫乙個函式,其作用是將輸入的字串反轉過來。示例 1 輸入 hello 輸出 olleh 示例 2 輸入 a man,a plan,a canal panama 輸出 amanap lanac a nalp a nam a 前後兩個位置的字元交換,這樣就可以減少迴圈的次數!注意的是,字串中替換某個字...
344 反轉字串
編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l l e...