//超时
class Solution {
public boolean validPalindrome(String s) {
int len=s.length();
if(Palindrome(s)) return true;
for (int i = 0; i <len ; i++) {
String temp=s.substring(0,i)+s.substring(i+1,len);
if(Palindrome(temp)) return true;
}
return false;
}
public boolean Palindrome(String s) {
int len=s.length();
if(len==1) return true;
for (int i = 0; i <len/2 ; i++) {
if(s.charAt(i)!=s.charAt(len-1-i))
return false;
}
return true;
}
}
//双指针,最后通过
class Solution {
public boolean validPalindrome(String s) {
int len=s.length();
if(len==1) return true;
int i=0;
int j=len-1;
while(i<j)
{
if(s.charAt(i)==s.charAt(j))
{i++;
j--;}
else
{
boolean flag= IsPalindrome(s.substring(i+1,j+1))||IsPalindrome(s.substring(i,j));
return flag;}
}
return true;
}
public boolean IsPalindrome(String s) {
int len=s.length();
if(len==1) return true;
for (int i = 0; i <len/2 ; i++) {
if(s.charAt(i)!=s.charAt(len-1-i))
return false;
}
return true;
}
}