class Solution
{
public:
bool validPalindrome(string s)
{
int len = s.length();
if (len <= )
return true;
return judge(s, , len - , );
}
private:
bool judge(string s, int l, int r, int cnt)
{
while (l <= r - )
{
if (s[l] != s[r])
{
if (cnt <= )
return false;
return judge(s, l + , r, cnt - ) || judge(s, l, r - , cnt - );
}
l++; r--;
}
return true;
}
};

参考网上的实现,递归解法。

主要思想是:双指针。

判断一个字符串是否是回文,基本的方法是使用双指针。一个从左向右遍历,一个从右向左遍历。

每次遍历进行判断,如果左和右不想等,那么就说明不是回文。

这道题是在判断回文的基础上,可以删除一个字符。

当左和右不想等的时候,有两种可能:左边的是多余字符,右边的是多余字符。

那么就尝试删除左边的或者尝试删除右边的,只要有一种情况能够满足回文,那就返回True。

leetcode680的更多相关文章

  1. [Swift]LeetCode680. 验证回文字符串 Ⅱ | Valid Palindrome II

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  2. Leetcode--680. Valid Palindrome II(easy)

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  3. Leetcode680.Valid Palindrome II验证回文字符串2

    给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: ...

随机推荐

  1. Spring 学习笔记(一)

    # IOC, DI # ApplicationContext.xml 描述类之间的依赖注入关系 # 初始化Bean工厂的两种方式 ## ClassPathXmlApplicationContext # ...

  2. Chrome 插件下载

    这里推荐几个下载chrome扩展的网站 http://www.cnplugins.com/index.html 分类全,没有搜索 http://www.chromein.com/ 有搜索,推荐使用 h ...

  3. HDU3853LOOPS (师傅逃亡系列•三)(基础概率DP)

    Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help her friend Madoka sa ...

  4. Ubuntu 忘记密码后重置密码

    摘自百度贴吧:http://tieba.baidu.com/p/2869755075 选后会再出现一个选单,让你选取,请选取:root - Drop to root shell prompt 选完后, ...

  5. Java8中计算日期时间差

    一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.ChronoUnit 二.Period类 主要是Period类方法getYears(),g ...

  6. 《selenium2 python 自动化测试实战》(11)——selenium安装版本

    先和大家说一下selenium环境的问题,大家可以在cmd里先看一下自己的selenium版本: 回车,就可以安装了. 本来想和大家说如何跳过验证码进行登录的,结果好多朋友加我问我环境配置的问题,所以 ...

  7. 【angularJS】Controller控制器

    1. 定义 控制器(Controller)在AngularJS中作用是增强视图(View),AngularJS控制器是一个构造方法,用来向视图(View)中添加额外功能. ng-controller指 ...

  8. Django基于Form之登录和注册

    1.创建Forms文件,内容略多,大家将就着看,不懂请留言 #!/usr/bin/env python # -*- coding: utf8 -*- #__Author: "Skiler H ...

  9. 【spring源码学习】spring的aop目标对象中进行自我调用,且需要实施相应的事务定义的解决方案

    转载:http://www.iteye.com/topic/1122740 1.预备知识 aop概念请参考[http://www.iteye.com/topic/1122401]和[http://ji ...

  10. VS 2013 简体中文 专业版 下载地址。

    官方原始链接:http://download.microsoft.com/download/7/A/C/7AC27F37-FDFE-4991-B18A-962E26E31BD1/VS2013_RTM_ ...