125. Valid Palindrome(迴文)
阿新 • • 發佈:2018-12-01
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
Note: For the purpose of this problem, we define empty string as valid palindrome.
Example 1:
Input: “A man, a plan, a canal: Panama”
Output: true
Example 2:
Input: “race a car”
Output: false
class Solution { public boolean isPalindrome(String s) { s = s.replaceAll("[^a-zA-Z]", "").toLowerCase(); // Stack<Character> stack = new Stack(); // for(int i=0; i<s.length();i++){ // stack.push( s.charAt(i) ); // } // for(int j=0; j<s.length();j++){ // char cTmp = stack.pop(); // // System.out.println("cTmp"+cTmp); // // System.out.println("cTmp"+s.charAt(i)); // if(cTmp != s.charAt(j) ){ // return false; // } // } // return true; s = s.toLowerCase(); char [] charArray = s.toCharArray(); String temp = ""; for(int i=0;i<charArray.length;i++) { if( ((int)charArray[i] >= 48 && (int)charArray[i] <= 57) || ((int)charArray[i] >= 97 && (int)charArray[i] <= 122)) { temp += charArray[i]; } } char [] resultArray = temp.toCharArray(); int begin = 0;int end = resultArray.length - 1; while(begin < end) { if(resultArray[begin] == resultArray[end]) { begin++; end--; }else{ return false; } } return true; } }