Problem Description:
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
Solution:
1 public boolean isPalindrome(String s) { 2 if (s == null) return false; 3 if (s.length() <= 1) return true; 4 5 StringBuilder builder = new StringBuilder(); 6 for (int i = 0; i < s.length(); i++) { 7 char ch = s.charAt(i); 8 if ((ch >= ‘a‘ && ch <= ‘z‘) || (ch >= ‘A‘ && ch <= ‘Z‘) || (ch >= ‘0‘ && ch <= ‘9‘)) { 9 builder.append(ch); 10 } 11 } 12 13 return builder.toString().toLowerCase().equals(builder.reverse().toString().toLowerCase()); 14 }
Problem Valid Palindrome
时间: 2024-10-11 00:41:19