/* * @lc app=leetcode id=125 lang=java * * [125] Valid Palindrome */ // @lc code=start class Solution { public boolean isPalindrome(String s) { int i = 0, j = s.length()-1; boolean r = true; while(i < j) { 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 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 isNumberic(a) && a == b || isAlpha(a) && isAlpha(b) && Character.toLowerCase(a) == Character.toLowerCase(b); } } // @lc code=end