LEET-CODE_4. 回文字符串

  1. Valid Palindrome II (Easy)

Leetcode / 力扣

题目描述:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。
示例 1:

输入: "aba"
输出: True

示例 2:

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

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


所谓的回文字符串,是指具有左右对称特点的字符串,例如 "abcba" 就是一个回文字符串。

   public boolean validPalindrome(String s) {
        int len = s.length();
        int i = 0;
        int j = len - 1;

        while (j>i){
            if (s.charAt(i) != s.charAt(j)){
                return judgeValidPalindrome(s,i + 1,j) || judgeValidPalindrome(s,i,j - 1);
            }
            i++;
            j--;
        }
        return true;
    }
    private boolean judgeValidPalindrome(String s,int i,int j){
        while (j>i){
            if (s.charAt(i++) != s.charAt(j--)){
                return false;
            }
        }
        return true;
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容