LeetCode | Valid Palindrome

来源:互联网 发布:云端软件平台1.0 编辑:程序博客网 时间:2024/05/29 17:05

Given a string, determine if it is a palindromeconsidering 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.

没什么技巧可言,碰到非数字字母字符向前/后移动一位

/******* last edited date:2015-10-13* Leetcode online Runtim : 12ms* .cpp***/#include <string>#include <sstream>using namespace std;class Solution {public:    bool isPalindrome(string s) {        for (int i = 0, j = s.size() - 1; i <= j; /* null */)        {            if (!isalnum(s[i])){                ++i;                continue;            }            else if (!isalnum(s[j])){                --j;                continue;            }            if (tolower(s[i++]) != tolower(s[j--]))                return false;        }        return true;    }};
0 0
原创粉丝点击