680. Valid Palindrome II

problem

solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public:
bool isPalindrome(string s, int l, int r){
while(l<r){
if(s[l++]!=s[r--]) return false;
}
return true;
}
bool validPalindrome(string s) {

int l=0, r=s.size()-1;
while(l<r){
if(s[l]!=s[r]) return isPalindrome(s, l+1,r) || isPalindrome(s, l,r-1);
l++;
r--;
}
return true;
}
};

analysis

  • time complexity O(n)
  • space complexity O(1)