vaild-palindrome
题目简述
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.
给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略大小写。例如, “A man, a plan, a canal: Panama”是一个回文。”race a car”不是回文。注意: 你认为字符串可能是空的吗? 在面试中这是一个很好的问题。出于此问题的目的,我们将空字符串定义为有效回文。
非递归方法:指针1从前往后遍历,指针2从后往前遍历,遇到非字母数字的字符跳过,比较前后对应字母数字是否相等。
class Solution {
public:bool isPalindrome(string s) {int lens=s.length();for(int i=0,j=lens-1;i<j;++i,--j){//跳过前面无用字母//两个函数://isalnum()函数:是数字和字母返回1,不是返回0//isalpha()函数:是字母返回1,不是返回0while(i<j && !isalnum(s[i])){++i;}//跳过后面无用字母while(i<j && !isalnum(s[j])){--j;}//比较是否相等:tolower()将字母变小写if(i<j && tolower(s[i])!=tolower(s[j]))return false;}return true;}
};
注意
isalnum()函数:是数字和字母返回1,不是返回0。
isalpha()函数:是字母返回1,不是返回0。
tolower():将字母变小写。
vaild-palindrome相关推荐
- 【LeetCode】Palindrome Partitioning 解题报告
[题目] Given a string s, partition s such that every substring of the partition is a palindrome. Retur ...
- 234. Palindrome Linked List - Easy
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- LeetCode 125 Valid Palindrome(有效回文)(*)
版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/5062 ...
- Lintcode108 Palindrome Partitioning || solution 题解
[题目描述] Given a strings, cutsinto some substrings such that every substring is a palindrome. Return t ...
- 数位DP 回文序列 POJ-3280 Cheapest Palindrome
Cheapest Palindrome [ POJ - 3280 ] 题目大意: 给定字符串s,长度为m,由n个小写字母组成.在s的任意位置增删字母,把它变成回文串,增删特定字母的花费不同,求最小花费 ...
- Determine whether an integer is a palindrome. Do this without extra space.
看到这个题目的时候,首先不认识 Determine这个单词.英文不好没办法,查了下是确认的意思,然后不懂 palindrome这个单词, 查了下是回文的意思. 问题是 回文是个什么东西,官方解释: A ...
- [leetcode] Palindrome Number
2019独角兽企业重金招聘Python工程师标准>>> Determine whether an integer is a palindrome. Do this without e ...
- Uva - 12050 Palindrome Numbers【数论】
题目链接:uva 12050 - Palindrome Numbers 题意:求第n个回文串 思路:首先可以知道的是长度为k的回文串个数有9*10^(k-1),那么依次计算,得出n是长度为多少的串,然 ...
- 【leetcode】132. Palindrome Partitioning II
题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...
- 409 Longest Palindrome
Longest Palindrome 这题我完全想错了. 求最长回文.~~统计个个字母出现次数.奇数的保留最大的那个.偶数全保留.~~这个思路完全错了. 因为奇数中成对的数字也是可以拿来用的. 正确的 ...
最新文章
- 构建从目标到研发过程的全生命周期体验
- 自己动手,丰衣足食:从零开始写个 IDEA 插件,要啥功能就做啥!
- APP漏洞自动化扫描专业评测报告
- NYOJ 906 杨辉三角
- Linux zip加密压缩
- MySQL Proxy和 Amoeba 工作机制浅析
- UIUC CS241 系统编程中文讲义校对活动 | ApacheCN
- 服务器系统更新要多久,请问系统服务器多长时间更新一次
- php助理工作内容,生产助理的工作职责
- TLS总结(上)——我们为啥需要TLS
- 依赖倒置原则_SOLID 设计原则,Java实例讲解
- JLU数据结构第七次上机实验解题报告
- 锂电池是什么材料做的
- 记录五年前的天马行空的想象
- uni-app框架、微信小程序项目
- linux下删除以-开头的文件
- 谈谈BPM工作流引擎
- Windows 底下安装 git Server: Bonobo Git Server
- 单机rust怎么设置白天_rust怎么设置全屏 | 手游网游页游攻略大全
- Android-AbsoluteLayout(绝对布局)