給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。
說明:本題中,我們將空字串定義為有效的回文串。
示例 1:
輸入:
"a man, a plan, a canal: panama"
輸出: true
示例 2:
輸入:
"race a car"
輸出: false
該題要求判斷字串是否為回文串,而且只考慮不區分大小寫的字母和數字。因此解決該題可以分為兩步:
ac code:
class
solution
:def
ispalindrome
(self, s:
str)
->
bool
:if s =='':
return
true
# 先將s轉換為小寫形式
s = s.lower(
)# 合法字元
numbers =
'1234567890'
letters =
'qwertyuiopasdfghjklzxcvbnm'
res =
[s[i]
for i in
range
(len
(s))
if s[i]
in numbers + letters]
l, r =0,
len(res)-1
while l <= r:
if res[l]
== res[r]
: l +=
1 r -=
1else
:return
false
return
true
或者可以求出中點後比較中點左右的字串是否是對稱的。
class
solution
:def
ispalindrome
(self, s:
str)
->
bool
:if s =='':
return
true
s = s.lower(
) numbers =
'1234567890'
letters =
'qwertyuiopasdfghjklzxcvbnm'
res =
[i for i in s if i in numbers + letters]
return res == res[::
-1]
125 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true示例 2 輸入 race a car 輸出 false解題思路 1 篩選字串,只留下數字和...
125 驗證回文串
125.驗證回文串 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false class ...
125 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false string的size 函式和l...