問題重述
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。
示例 1:輸入: 「aba」 輸出: true
示例 2:輸入: 「abca」 輸出: true
解釋: 你可以刪除c字元。
思路
用遞迴的思想,雙指標,判斷s[low],s[high]是否相等,相等就++low,–high。如果不相等,就通過自己寫的check函式來判斷s[low+1],s[high]或者s[low],s[high]是否相等(因為可以刪除乙個字元)
最終**
class
solution
++low;
--high;
}return1;
}bool
validpalindrome
(string s)
else
}return1;
}};
leetcode 680 驗證回文字串
給定乙個非空字串s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true示例 2 輸入 abca 輸出 true解釋 你可以刪除c字元。雙指標法 維護左指標i,右指標j。兩邊向中間夾,當遇到不相等字串 判讀i 1 到j 或是 i 到 j 1是否回文 pythonclass...
LeetCode 680 驗證回文字串
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。這道題依舊是雙指標型別題目,即前後雙指標依次判斷,但此題關鍵在於刪除哪乙個字元的問題,如果掃瞄中第一次碰到不相等...
leetcode 680 驗證回文字串
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。方法 雙指標分別指向頭尾,遇到不同的分別判斷刪除左右兩邊後剩下...