diff --git a/125.valid-palindrome.java b/125.valid-palindrome.java index 147f21c..06c6d7a 100644 --- a/125.valid-palindrome.java +++ b/125.valid-palindrome.java @@ -16,24 +16,33 @@ class Solution { while(i=j) { break; } if(!isSameLeterIgnoreCase(s.charAt(i), s.charAt(j))) { r = false; break; } + i++; + j--; } return r; } private boolean isAlphanumberic(char c) { - return c >= 'a' && c <= 'z' || - c >= 'A' && c <= 'Z' || c >='0' && c <= '9'; + return isAlpha(c) || isNumberic(c); + } + + private boolean isAlpha(char c) { + return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'; + } + + private boolean isNumberic(char c) { + return c >= '0' && c <= '9'; } private boolean isSameLeterIgnoreCase(char a, char b) { - return a == b || a - b == 'z' - 'a' || a - b == 'a' - 'z'; + return isNumberic(a) && a == b || isAlpha(a) && isAlpha(b) && Character.toLowerCase(a) == Character.toLowerCase(b); } } // @lc code=end