680. 验证回文字符串 Ⅱ
生活随笔
收集整理的這篇文章主要介紹了
680. 验证回文字符串 Ⅱ
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
680. 驗證回文字符串 Ⅱ
給定一個非空字符串 s,最多刪除一個字符。判斷是否能成為回文字符串。
- 示例 1:
輸入: s = “aba”
輸出: true
- 示例 2:
輸入: s = “abca”
輸出: true
解釋: 你可以刪除c字符。
- 示例 3:
輸入: s = “abc”
輸出: false
解題思路
使用雙指針匹配回文串,當遇到不匹配的兩個字符時,我們將兩個字符都刪除一次以后,遍歷剩余的字符串查看是否能組成回文字符串
代碼
class Solution {public boolean validPalindrome(String s) {int l=0,n=s.length(),r=n-1;while(l<r){if(s.charAt(l)!=s.charAt(r)){return toVlidPalindrome(s,l+1,r)||toVlidPalindrome(s,l,r-1);}r--;l++;}return true;}public boolean toVlidPalindrome(String s,int l,int r) {while(l<r){if(s.charAt(l)!=s.charAt(r))return false;l++;r--;}return true;} }總結
以上是生活随笔為你收集整理的680. 验证回文字符串 Ⅱ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己有妇科病是什么意思
- 下一篇: 梦到鸡蛋破了是什么意思