LeetCode 剑指 Offer II 019. 最多删除一个字符得到回文
题目描述
给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。
示例 1:
输入: s = "aba"
输出: true
LeetCode 剑指 Offer II 019. 最多删除一个字符得到回文
提示:
1 <= s.length <= 105
s 由小写英文字母组成
一、解题关键词
二、解题报告
1.思路分析
2.时间复杂度
3.代码示例
class Solution {
public boolean validPalindrome(String s) {
int len = s.length();
int low = 0,high = len - 1;
while(low < high){
char c1 = s.charAt(low),c2 = s.charAt(high);
if(c1 == c2){
++low;
--high;
}else{
return validPalindrome(s,low,high - 1) || validPalindrome(s,low + 1,high);
}
}
return true;
}
//
boolean validPalindrome(String s,int low,int high){
for(int i = low,j = high;i < j; ++i,--j){
char c1 = s.charAt(i),c2 = s.charAt(j);
if(c1 != c2){
return false;
}
}
return true;
}
}
2.知识点