Leetcode: Valid palindrome
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"
IsNotA 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.
Address: https://oj.leetcode.com/problems/valid-palindrome/
Algorithm: You can directly add the code to this question.
1 class Solution { 2 public: 3 bool isPalindrome(string s) { 4 int n = s.size(); 5 int j = 0; 6 for(int i = 0; i < n; ++i){ 7 if(isalnum(s[i])){ 8 s[j++] = tolower(s[i]); 9 }10 }11 s = s.substr(0,j);12 int len = j;13 j = j / 2;14 int i = 0;15 while(i < j && s[i] == s[len - i - 1]) ++i;16 return i == j;17 }18 };
Leetcode: Valid palindrome