[LeetCode] 680. Valid Palindrome II 验证回文字符串 II
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: True
Explanation: You could delete the character 'c'.
Note:
- The string will only contain lowercase characters a-z. The maximum length of the string is 50000.
125. Valid Palindrome 的拓展,给定一个非空字符串,最多可删除1个字符,判断是否可以变成回文。
解法:还是从首尾两边开始比较,如果匹配就移动指针继续比较。当遇到不匹配的时候,删除左边的字符或者右边的字符,只要有一种能匹配就继续。
Python:
class Solution(object):
def validPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
def validPalindrome(s, left, right):
while left < right:
if s[left] != s[right]:
return False
left, right = left+1, right-1
return True left, right = 0, len(s)-1
while left < right:
if s[left] != s[right]:
return validPalindrome(s, left, right-1) or validPalindrome(s, left+1, right)
left, right = left+1, right-1
return True
C++:
class Solution {
public:
bool validPalindrome(string s) {
int left = 0, right = s.length() - 1;
while (left < right) {
if (s[left] != s[right]) {
return validPalindrome(s, left, right - 1) || validPalindrome(s, left + 1, right);
}
++left, --right;
}
return true;
}
private:
bool validPalindrome(const string& s, int left, int right) {
while (left < right) {
if (s[left] != s[right]) {
return false;
}
++left, --right;
}
return true;
}
};
类似题目:
[LeetCode] 125. Valid Palindrome 验证回文字符串
All LeetCode Questions List 题目汇总
[LeetCode] 680. Valid Palindrome II 验证回文字符串 II的更多相关文章
- 【LeetCode】680. Valid Palindrome II 验证回文字符串 Ⅱ(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双指针 思路来源 初版方案 进阶方案 日期 题目地址 ...
- LeetCode OJ:Valid Palindrome(验证回文)
Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric char ...
- Leetcode680.Valid Palindrome II验证回文字符串2
给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: ...
- 力扣(LeetCode)验证回文字符串II 个人题解
给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: ...
- [LeetCode] Valid Palindrome II 验证回文字符串之二
Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...
- 【LeetCode】- Valid Palindrome(右回文)
[ 问题: ] Given a string, determine if it is a palindrome, considering only alphanumeric characters an ...
- LeetCode 125 Valid Palindrome(有效回文)(*)
翻译 给定一个字符串.确定它是否是回文的,仅仅考虑当中的数字和字符并忽略其它. 比如. "A man, a plan, a canal: Panama" 是回文的. "r ...
- LeetCode 680. Valid Palindrome II (验证回文字符串 Ⅱ)
Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...
- LeetCode 680. 验证回文字符串 Ⅱ(Valid Palindrome II) 1
680. 验证回文字符串 Ⅱ 680. Valid Palindrome II 题目描述 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 每日一算法2019/5/4Day 1Le ...
随机推荐
- es题目
1.elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 .2.elasticsearch的倒排索引是什么?3.elasticsearch 索引数 ...
- 大数据之路week07--day07 (修改mysql默认编码)
在Sqoop导入或者导出,我们在查看mysql的时候会出现中文乱码大部分乱码会是?这样的问号,那么该怎么处理呢? 1.打开my.cnf文件 vim /etc/my.cnf 2.找到对应需要修改的地方 ...
- 项目Alpha冲刺(团队)-第十天冲刺
格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队) 团队名称:为了交项目干杯 作业目标:描述第十天冲刺的项目进展.问题困难.心得体会 队员姓名与学号 队员学号 ...
- webview-h5页面刷新
问题:webview 缓存了index.html页面:浏览器缓存了子页面.解决方案:网页链接后添加时间戳. 第一:避免webView缓存]在service.vue中,给url后边添加时间戳 第二:避免 ...
- windows——快速得到某一目录下所有文件的名称
前言 其实用的是windows上dir命令,能快速得到某一目录下的所有文件名称,天天那么忙都没时间写博客(┬_┬) 步骤 打开cmd并cd到某目录下 C:\Users\Administrator.KI ...
- LeetCode 818. Race Car
原题链接在这里:https://leetcode.com/problems/race-car/ 题目: Your car starts at position 0 and speed +1 on an ...
- CentOS yum repo
CentOS yum repo 阿里云的 一个是Centos-6的 一个是Centos-7 # CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.rep ...
- 从.NET/CLR返回的hresult:0x8013XXXX的解释
什么是0x8013XXXX 有时您可能会遇到从.NET返回的神秘HRESULT,它以0x8013开头,例如0x80131522.不幸的是,Visual Studio附带的错误查找并不能真正处理那些奇怪 ...
- CSPS_113
这场还是Dybala的差点AK场 可是我T3伪了只拿了20分 如果这... T1 xjb猜了个结论就过对拍 T2 鸡还儿竖+贪心 T3 正着贪心一遍,被卡了,只有20分 可是如果反着再来亿遍 就会有5 ...
- 洛谷P3177 树上染色
题目 一道非常好的树形DP. 状态:\(dp[u][n]\)为u的子树选n个黑点所能得到的收益最大值. 则最终的结果就是\(dp[root][k],\)\(root\)可以为任何值,为了方便,使\(r ...