【噶】字符串-680. 验证回文字符串 Ⅱ

题目:

给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。

示例 1:

输入: "aba"
输出: True
示例 2:

输入: "abca"
输出: True
解释: 你可以删除c字符。
注意:

字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-palindrome-ii

解答:

class Solution {

    public boolean validPalindrome(String s) {
         for (int start = 0, end = (s.length() - 1); start < end; start++,end--) {
             if (s.charAt(start) != s.charAt(end)) {
                 // 去掉一个,然后继续
                 String s1 = s.substring(start, end);
                 boolean bol1 = validPalindrome1(s1);
                 String s2 = s.substring(start + 1, end + 1);
                 boolean bol2 = validPalindrome1(s2);
                 boolean bol = bol1 || bol2;
                 return bol;
             }
         }
         return true;
    }
    
    public boolean validPalindrome1(String s) {
         for (int start = 0, end = (s.length() - 1); start < end; start++,end--) {
             if (s.charAt(start) != s.charAt(end)) {
                 return false;
             }
         }
         return true;
    }


}

 emmm 居然三个月前解答过。。这次解答前发现有点迷糊,看了眼解题思路写的。

越努力越幸运~ 加油ヾ(◍°∇°◍)ノ゙
原文地址:https://www.cnblogs.com/utomboy/p/13590475.html