Leetcode #680 | Easy | [[Два указателя]] ## Идея Продолжение [[Valid Palindrome]], только теперь можно удалить один символ. При первом несовпадении запускаем вспомогательную функцию, которая допроверяет либо с `l+1 до r`, либо с `l до r-1` ## [[Big-O]] - Время ```O(N)``` - Память ```O(1)``` ## Код ```Java class Solution { public boolean validPalindrome(String s) { int l = 0; int r = s.length()-1; while (l < r) { if (s.charAt(l) != s.charAt(r)) { return isPalindrome(s, l+1, r) || isPalindrome(s, l, r-1); } l++; r--; } return true; } boolean isPalindrome(String s, int l, int r) { while (l < r) { if (s.charAt(l) != s.charAt(r)) { return false; } l++; r--; } return true; } } ```