Valid Palindrome

Problem Statement

deeksha sharma
Algorithm Problems
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;

}
}

--

--

deeksha sharma
Algorithm Problems

Work for https://bonsaiilabs.com/ life long learner ,investing time heavily in personal finance, education, tech and design skills. Twitter: @deekshasharma25