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.
Show Company Tags
Show Tags
Show Similar Problems
解法1: Two pointers, O(N)
用双指针很简单。要注意的是要跳过非alphanumeric的数字,这里C++里面判断是否是alphanumeric的数字的时候是用的isalnum(x)。 转化为lowercase的时候用的是tolower(x)
C++
Java