Valid Palindrome
Problem Statement
Published in
1 min readFeb 5, 2016
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.
Run Time Complexity
Run time is O(n)
Code
public class Solution {
public boolean isPalindrome(String s) {
if(s.length() < 1){
return true;
}
int start = 0;
int end = s.length()-1;
while(start < end){
char char1 = Character.toLowerCase(s.charAt(start));
char char2 = Character.toLowerCase(s.charAt(end));
if(!Character.isLetter(char1) && !Character.isDigit(char1)){
start++;
}
else if(!Character.isLetter(char2) && !Character.isDigit(char2)){
end--;
}
else if(char1 == char2){
start++;
end--;
}else{
return false;
}
}return true;
}
}