680. Valid Palindrome II
2026/1/12小于 1 分钟约 240 字
680. Valid Palindrome II
难度: Easy
题目描述
Given a string s, return true if the s can be palindrome after deleting at most one character from it.
Example 1:
Input: s = "aba" Output: true
Example 2:
Input: s = "abca" Output: true Explanation: You could delete the character 'c'.
Example 3:
Input: s = "abc" Output: false
Constraints:
1 <= s.length <= 105sconsists of lowercase English letters.
解题思路
代码实现
解决方案
java
class Solution {
public boolean validPalindrome(String s) {
int i = 0;
int j = s.length() - 1;
int oldI = 0;
int oldJ = 0;
boolean first=false;
boolean second =false;
while (i < j) {
char a = s.charAt(i);
char b = s.charAt(j);
if (a == b) {
i++;
j--;
continue;
}
if (second) {
return false;
}
if (first == false) {
oldI = i;
oldJ = j;
i++;
first=true;
} else if(second==false) {
i = oldI;
j = oldJ;
j--;
second=true;
}
}
return true;
}
}