leetcode 680 驗證回文字串

2021-09-18 01:18:48 字數 818 閱讀 7976

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

示例 1:

輸入:"aba"輸出:true
示例 2:

輸入:"abca"輸出:true解釋:你可以刪除c字元。

雙指標法:維護左指標i, 右指標j。兩邊向中間夾,當遇到不相等字串 判讀i+1 到j 或是 i 到 j - 1是否回文

python

class solution:

def validpalindrome(self, s: str) -> bool:

# 是否為回文字串

def is_vaild(s, i,j):

while i <= j and s[i] == s[j]:

i, j = i + 1, j - 1

return i > j

i, j = 0, len(s) - 1

while i <= j:

if s[i] != s[j]:

# 如果不相等 就左指標進一下,或指標進一下

return is_vaild(s, i+1, j) or is_vaild(s, i, j-1)

i, j = i+1, j-1

return true

LeetCode 680 驗證回文字串

給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。這道題依舊是雙指標型別題目,即前後雙指標依次判斷,但此題關鍵在於刪除哪乙個字元的問題,如果掃瞄中第一次碰到不相等...

leetcode 680 驗證回文字串

給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。方法 雙指標分別指向頭尾,遇到不同的分別判斷刪除左右兩邊後剩下...

LeetCode 680 驗證回文字串

680.驗證回文字串 給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。雙指標法 思路 1.先判斷原串是否符合回...