LeetCode第680题:验证回文字符2(简单)
LeetCode第680题:验证回文字符2(简单)
-
题目:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 解题思路:双指针的做法
class Solution {
public boolean validPalindrome(String s) {
int left = 0;
int right = s.length()-1;
int time = 1;
while(left < right){
if(s.charAt(left)==s.charAt(right)){
left++;
right--;
}else{
if(left + 1 == right) return true;
if(time == 1){
if(s.charAt(left+1)==s.charAt(right) && s.charAt(left+2)==s.charAt(right-1)){
left++;
time--;
}else if(s.charAt(left)==s.charAt(right-1) && s.charAt(left+1)==s.charAt(right-2)){
right--;
time--;
}else{
return false;
}
}else{
return false;
}
}
}
return true;
}
}
-
题解做法:思想差不多,代码很简洁。
上一篇:
IDEA上Java项目控制台中文乱码
