abc_begin

导航

125. Valid Palindrome【easy】

125. Valid Palindrome【easy】

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.

 

解法一:

 1 class Solution {
 2 public:
 3     bool isPalindrome(string s) {
 4         int start = 0, end = s.length() - 1;
 5         while (start <= end) {
 6             if (!isalnum(s[start])) {
 7                 start++;
 8             } else if (!isalnum(s[end])) {
 9                 end--;
10             } else {
11                 if (tolower(s[start++]) != tolower(s[end--])) {
12                     return false;
13                 }
14             }
15         }
16         return true;
17     }
18 };

 

posted on 2017-09-23 15:38  LastBattle  阅读(109)  评论(0编辑  收藏  举报