LeetCode刷題筆記 125 驗證回文串

2021-09-11 01:42:48 字數 1093 閱讀 5584

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。

說明:本題中,我們將空字串定義為有效的回文串。

示例 1:

輸入: 「a man, a plan, a canal: panama」

輸出: true

示例 2:

輸入: 「race a car」

輸出: false

設定兩個指標i和j,i從頭遍歷到尾,j從尾遍歷至頭。若兩者同為字母或數字,則進行比較是否相同,若不是則返回false,若是則繼續遍歷。若i或j所對應的字元不是字母或數字,則繼續遍歷。

執行用時: 84 ms, 在valid palindrome的python3提交中擊敗了60.07% 的使用者

記憶體消耗: 6.7 mb, 在valid palindrome的python3提交中擊敗了98.40% 的使用者

class

solution

:def

ispalindrome

(self, s)

:"""

:type s: str

:rtype: bool

"""i =

0 j =

len(s)-1

while i < j:

if s[i]

.isalnum(

)and s[j]

.isalnum():

if s[i]

.lower(

)!= s[j]

.lower():

return

false

i +=

1 j -=

1elif

not s[i]

.isalnum():

i +=

1elif

not s[j]

.isalnum():

j -=

1return

true

n = len(s)

時間複雜度o(n

)o(n)

o(n)

,空間複雜度o(1

)o(1)

o(1)

leetcode刷題 125 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 思路 先用replaceall ...

LeetCode刷題之路 125 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 最直觀的思路 定義兩個指標分別從...

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...