Leetcode 680:验证回文字符串II
作者:互联网
题目描述
给定一个非空字符串 s
,最多删除一个字符。判断是否能成为回文字符串。
示例 1:
输入: "aba" 输出: True
示例 2:
输入: "abca" 输出: True 解释: 你可以删除c字符。
注意:
- 字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。
解题思路
bool validPalindrome(string s) {
int i = 0,j = s.length()-1;
while(i < j){
if(s[i] == s[j]){
i++;j--;
}else{
int deli = i,delj = j,time = 1;
while(time <= 2){
if(time == 1){
i = deli;i++;j = delj;
}else{
j = delj;j--;i = deli;
}
while(i < j && s[i]==s[j]){
i++;j--;
}
if(i>=j) return true;
time++;
}
return false;
}
}
return (i>=j)?true:false;
}
标签:return,示例,Leetcode,II,while,time,字符串,false,680 来源: https://blog.csdn.net/weixin_35338624/article/details/89788220