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 }

 

posted @ 2018-10-22 03:48  jasoncool1  阅读(102)  评论(0编辑  收藏  举报