Valid Palindrome(回文字符串)

来源:互联网 发布:刘鑫 网络暴力 知乎 编辑:程序博客网 时间:2024/05/18 16:16

描述:

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.

题解:使用的思路就是stl中的一些方法。直接看代码。

class Solution {public:    bool isPalindrome(string s) {        transform(s.begin(),s.end(),s.begin(),::tolower);        auto left = s.begin(),right=prev(s.end());        while(left<right){            if(!::isalnum(*left)) ++left;            else if(!::isalnum(*right)) --right;            else if(*left!=*right)  return false;            else{                left++;                right--;            }        }        return true;    }};


0 0
原创粉丝点击