344 反轉字串

2021-08-25 08:19:08 字數 964 閱讀 8079

一. 題目

編寫乙個函式,其作用是將輸入的字串反轉過來。

示例 1:

輸入: "hello"

輸出: "olleh"

示例 2:

輸入: "a man, a plan, a canal: panama"

輸出: "amanap :lanac a ,nalp a ,nam a"

二.思路及**

這個屬於比較簡單的字串題。

法1:新建乙個空字串,將舊字串從尾到頭的迴圈新增進去就可以了,需要注意的是字串和元組一樣一旦建立就不可修改, 所以只能用 『+』 重新拼接乙個新的字串。

法2:當然在python中有更簡單的操作:slice (切片)。--> [ start: end: interval]。

法3:雙指標乙個指向頭,乙個指向尾,兩兩交換直到頭指標超過尾指標。(但python實現起來比較麻煩,因為python的built-in string 不能修改)

1>. 法1

class solution:

def reversestring(self, s):

""":type s: str

:rtype: str

"""s_new = str()

i = 1

while i <= len(s):

s_new = s_new + s[-i]

i += 1

return s_new

2>. 法2 切片

class solution:

def reversestring(self, s):

""":type s: str

:rtype: str

"""return s[::-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...

344 反轉字串

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