博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-680-Valid Palindrome II]
阅读量:6185 次
发布时间:2019-06-21

本文共 921 字,大约阅读时间需要 3 分钟。

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

Example 1:

Input: "aba"Output: True

 

Example 2:

Input: "abca"Output: TrueExplanation: You could delete the character 'c'.

 

Note:

  1. The string will only contain lowercase characters a-z. The maximum length of the string is 50000.

 思路:

从字符串两端向中间判断,如果相等则继续判断。

如果不相等,s[i] != s[j] ,那么判断 i+1到j 和i到j-1是否是回文,如果是的话即满足,都不是则不满足。

bool ispali(string& s,int start,int end){    while (start <= end)    {        if (s[start] != s[end])return false;        start++, end--;    }    return true;     }bool validPalindrome(string s){    int n = s.length();    if (n <= 2)return true;    for (int i = 0; i < n;i++)    {        if (s[i] != s[n - i - 1])        {            return (ispali(s, i + 1, n - i - 1) || ispali(s, i, n - i - 2));        }             }    return true;}

参考:

转载于:https://www.cnblogs.com/hellowooorld/p/7562679.html

你可能感兴趣的文章
[Draft]iOS.Architecture.16.Truth-information-flow-and-clear-responsibilities-immutability
查看>>
mysql-connect-odbc连接
查看>>
hbase集群写不进去数据的问题追踪过程
查看>>
SpringInAction-- 配置Profile Bean
查看>>
springboot找不到主类
查看>>
2、selinux服务的操作
查看>>
STM32CubeIDE 编译C/C++程序
查看>>
python的经典类与新式类
查看>>
python入门 -- 学习笔记2
查看>>
查询存储过程
查看>>
计算机专业课系列之二:程序的机器表示(汇编)
查看>>
静态代码块、构造代码块、构造方法的执行顺序
查看>>
软件工程—4需求工程
查看>>
import from 相对路径
查看>>
什么是POP3、SMTP和IMAP?
查看>>
[leetcode-671-Second Minimum Node In a Binary Tree]
查看>>
C#语言学习--基础部分(三) 方法重载续(.net 4.0的新特性)
查看>>
技术的变现
查看>>
网页布局-左侧固定,右侧自适应
查看>>
struts2的工作机制
查看>>