給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。
示例 1:
輸入: 「aba」示例 2:輸出: true
輸入: 「abca」注意:輸出: true
解釋: 你可以刪除c字元。
字串只包含從 a-z 的小寫字母。字串的最大長度是50000。
class
solution
(object):
defvalidpalindrome
(self, s)
:"""
:type s: str
:rtype: bool
"""defjudge
(sstr)
: x =
0 y =
len(sstr)-1
while xif sstr[x]
!=sstr[y]
:return sstr[x:y+1]
x+=1 y-=
1return
s = judge(s)
print
(s) i =
0 j =
len(s)-1
ifnot s:
return
true
if s[i+1]
== s[j]:if
not judge(s[i+
1:j+1]
):return
true
if s[i]
== s[j-1]
:ifnot judge(s[i:j]):
return
true
return
false
680 驗證回文字串
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。分析 使用雙指標,在第乙個不相等的位置略過左邊或右邊的乙個字元...
680 驗證回文字串
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。class solution int i 0,j len 1 ...
680 驗證回文字串
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。這道題我們可以很容易的想到就是遍歷字串,每次刪除乙個字元,然後...