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:
class Solution { public boolean validPalindrome(String s) { char[] chars = s.toCharArray(); int lo = 0, hi = chars.length - 1; while (lo < hi) { if (chars[lo] != chars[hi]) { return helper(chars, lo + 1, hi) || helper(chars, lo, hi - 1); } lo++; hi--; } return true; } private boolean helper(char[] chars, int lo, int hi) { while (lo < hi) { if (chars[lo] != chars[hi]) { return false; } lo++; hi--; } return true; } }