680 驗證回文字串

2021-10-06 07:23:31 字數 641 閱讀 1707

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

示例 1:

輸入: 「aba」

輸出: true

示例 2:

輸入: 「abca」

輸出: true

解釋: 你可以刪除c字元。

注意:字串只包含從 a-z 的小寫字母。字串的最大長度是50000。

這道題我們可以很容易的想到就是遍歷字串,每次刪除乙個字元,然後再判斷是不是回文字串。

但是這樣明顯複雜度不理想。

我們判斷回文字串的時候就是從兩頭往裡走判斷,使用雙指標判斷兩頭對稱的字元是否都相同。

那麼我們也是用這個思想,從兩頭往裡走判斷,如果遇到不相同的,則分別刪除其中乙個,然後再判斷剩下字串是否符號條件,符號條件則原字串就是回文字串

class

solution

return

true;}

bool

validpalindrome

(string s)

i++; j--;}

return

true

;// 如果跳出迴圈說明每次的兩頭始終相等,就是回文字串。}}

;

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。class solution object defvalidp...