[leetcode] 125. Valid Palindrome

网友投稿 273 2022-11-06


[leetcode] 125. Valid Palindrome

Description

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

Note: For the purpose of this problem, we define empty string as valid palindrome.

Example 1:

Input:

"A man, a plan, a canal: Panama"

Output:

true

Example 2:

Input:

"race a car"

Output:

false

分析

题目的意思是:判断一个字符串是否是回文子串。

本题是判断回文子串,用两个索引,分别指向字符串的开头和结尾,其中注意大小写的相等比较,还有要跳过空格和标点不好。这道题在牛课网上通过了但在leetcode上没有通过,".“和” "没有判断出来,我家了if(i>j)的操作,然后accept了,看来leetcode更难一点。

代码

class Solution {public: bool isPalindrome(string s) { int i=0; int j=s.length()-1; while(i<=j){ while(i<=j&&!isalnum(s[i])){ i++; } while(i<=j&&!isalnum(s[j])){ j--; } if(i>j){ return true; } if(tolower(s[i])==tolower(s[j])){ i++; j--; }else{ return false; } } return true; }};

参考文献

​​[编程题]valid-palindrome​​


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ubuntu 16.04 安装Ralink MT7601U (148f:7601) 驱动
下一篇:Java中session存储Users对象实现记住密码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~