[LeetCode] Valid Palindrome [10]

来源:互联网 发布:下载office for mac 编辑:程序博客网 时间:2024/06/07 09:46

题目

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.

原题地址

解题思路

验证一个字符串是否是回文字符串。首先看看wiki上对于回文的解释:回文,亦称回环,是正读反读都能读通的句子,亦有将文字排列成圆圈者,Famous examples include "Amore, Roma", "A man, a plan, a canal: Panama" and "No 'x' in 'Nixon'"。
判读一个字符串是否是回文,一种方法可以将字符串倒置然后和原字符串进行比较。这里采用一种类似字符串翻转的方法,通过从前后两个方向来比较判断是否是回文。本题中的有效字符是字母和数字,并且忽略字母大小写。

代码如下

class Solution {public:    bool isPalindrome(string s) {        int n = s.size();        int i=0, j=n-1;        while(i<j){            if( !isalpha(s[i]) ) {                ++i;                continue;            }            if( !isalpha(s[j]) ) {                --j;                continue;            }            if(s[i] != s[j]) return false;            ++i,--j;        }        return true;    }    //判断是否是字母数字,如果是大写字母则将其转化为小写字母    bool isalpha(char &c){        if((c>='A'&&c<='Z')){            c = c-'A'+'a';            return true;        }        return (c>='a'&&c<='z') || (c>='0'&&c<='9');    }};

如果你觉得本篇对你有收获,请帮顶。
另外,我开通了微信公众号--分享技术之美,我会不定期的分享一些我学习的东西.
你可以搜索公众号:swalge 或者扫描下方二维码关注我

(转载文章请注明出处: http://blog.csdn.net/swagle/article/details/28883129 )

4 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 屁眼肉凸出来了怎么办 陶笛声音变闷了怎么办 吃三七粉上火了怎么办 红枣核吞下去了怎么办 话梅核吞下去了怎么办 芒果和海鲜吃了怎么办 小孩咳嗽喉咙有痰怎么办 4岁宝宝喉咙有痰怎么办 20天新生儿有痰怎么办 孩子嗓子老是有痰怎么办 买的哈密瓜不甜怎么办 吉他琴颈变形了怎么办 hcg值长得慢怎么办 蚊子老在耳边叫怎么办 刚买来的鲜海参怎么办 天冷手指关节疼怎么办 未满一年驾龄上高速违章怎么办 榴莲太生剥开了怎么办 榴莲开了没熟怎么办 榴莲打开了没熟怎么办 榴莲开口了没熟怎么办 榴莲没熟打开了怎么办 不熟的榴莲没熟怎么办 打开的榴莲没熟怎么办 开了的榴莲没熟怎么办 榴莲剥出来没熟怎么办 榴莲剥开了没熟怎么办 榴莲买回来没熟怎么办 整个的榴莲熟了怎么办 买的榴莲有点生怎么办 剥开的榴莲肉硬怎么办 买了钻戒后悔了怎么办 钻戒小钻石掉了怎么办 2岁宝宝爱看电视怎么办 笛子中音3有点高怎么办 长笛嘴型,杂音多怎么办 房子户型图没了怎么办 微信显示无响应怎么办 领完失业金档案怎么办 qq占了2g内存怎么办 吉他的弦断了怎么办