LeetCode 680. 验证回文字符串

简介: LeetCode 680. 验证回文字符串

680. 验证回文字符串 Ⅱ


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


示例 1:


输入: "aba"
输出: True
• 1
• 2


示例 2:


输入: "abca"
输出: True


解释: 你可以删除c字符。


注意:


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


题解


用双指针法从两边进行查找,当遇到不一样时候再用另一个检验函数分别检验左侧+1和右侧-1后的字符串是否为回文,在检验函数中,如果是就返回true,不是直接返回false


代码


class Solution {
public:
    bool validPalindrome(string s) {
        // 空就直接返回真
        if(!s.size())
            return true;
        int l=0,r=s.size()-1;
        while(l<=r)
        {
            if(s[l]==s[r])
            {
                l++;
                r--;
            }
            else
                return judge(s,l+1,r)||judge(s,l,r-1);
        }
        return true;    
    }
    bool judge(string s,int l,int r)
    {
        while(l<=r)
        {
            if(s[l]==s[r])
            {
                l++;
                r--;
            }
            else
                return false;
        }
        return true;    
    }
};
相关文章
【Leetcode -680.验证回文串Ⅱ -693.交替位二进制数】
【Leetcode -680.验证回文串Ⅱ -693.交替位二进制数】
77 0
|
canal 算法
【Leetcode-121.买卖股票的最佳时机 -125.验证回文串】
【Leetcode-121.买卖股票的最佳时机 -125.验证回文串】
91 0
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
113 0
leetcode255. 验证前序遍历序列二叉搜索树
leetcode255. 验证前序遍历序列二叉搜索树
103 0
代码随想录Day17 LeetCode T98 验证二叉搜索树 T530 二叉搜索树的最小绝对差 T501 二叉搜索树中的众数 T236二叉搜索树的最近公共祖先
代码随想录Day17 LeetCode T98 验证二叉搜索树 T530 二叉搜索树的最小绝对差 T501 二叉搜索树中的众数 T236二叉搜索树的最近公共祖先
104 0
|
12月前
【LeetCode 40】98.验证二叉搜索树
【LeetCode 40】98.验证二叉搜索树
74 0
|
Python
【Leetcode刷题Python】946. 验证栈序列
LeetCode题目“946. 验证栈序列”的Python解决方案,通过模拟栈的压入和弹出操作来验证给定的两个序列是否能通过合法的栈操作得到。
124 6
LeetCode-393 UTF-8编码验证
LeetCode-393 UTF-8编码验证
力扣经典150题第二十五题:验证回文串
力扣经典150题第二十五题:验证回文串
110 0
|
canal 算法 数据可视化
LeetCode 125题:验证回文串
LeetCode 125题:验证回文串

热门文章

最新文章