680 驗證回文字串

2021-10-06 07:17:19 字數 1008 閱讀 8645

給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。

示例 1:

輸入: 「aba」

輸出: true

示例 2:

輸入: 「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。這道題我們可以很容易的想到就是遍歷字串,每次刪除乙個字元,然後...