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项目控制台中文乱码