680. Valid Palindrome II
1 class Solution { 2 public boolean validPalindrome(String s) { 3 if(s.length() == 0) return true; 4 int i = 0, j = s.length() - 1; 5 while(i < j){ 6 if(s.charAt(i) != s.charAt(j)){ 7 return (isValid(s, i+1, j) || isValid(s, i, j-1)); 8 } 9 i++; 10 j--; 11 } 12 return true; 13 14 } 15 16 public boolean isValid(String s, int i, int j){ 17 StringBuilder sb = new StringBuilder(s.substring(i, j+1)); 18 StringBuilder sb1 = new StringBuilder(sb.toString()); 19 sb1.reverse(); 20 return sb.toString().equals(sb1.toString()); 21 } 22 }