题目简述

  • 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相关推荐

  1. 【LeetCode】Palindrome Partitioning 解题报告

    [题目] Given a string s, partition s such that every substring of the partition is a palindrome. Retur ...

  2. 234. Palindrome Linked List - Easy

    Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...

  3. LeetCode 125 Valid Palindrome(有效回文)(*)

    版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/5062 ...

  4. Lintcode108 Palindrome Partitioning || solution 题解

    [题目描述] Given a strings, cutsinto some substrings such that every substring is a palindrome. Return t ...

  5. 数位DP 回文序列 POJ-3280 Cheapest Palindrome

    Cheapest Palindrome [ POJ - 3280 ] 题目大意: 给定字符串s,长度为m,由n个小写字母组成.在s的任意位置增删字母,把它变成回文串,增删特定字母的花费不同,求最小花费 ...

  6. Determine whether an integer is a palindrome. Do this without extra space.

    看到这个题目的时候,首先不认识 Determine这个单词.英文不好没办法,查了下是确认的意思,然后不懂 palindrome这个单词, 查了下是回文的意思. 问题是 回文是个什么东西,官方解释: A ...

  7. [leetcode] Palindrome Number

    2019独角兽企业重金招聘Python工程师标准>>> Determine whether an integer is a palindrome. Do this without e ...

  8. Uva - 12050 Palindrome Numbers【数论】

    题目链接:uva 12050 - Palindrome Numbers 题意:求第n个回文串 思路:首先可以知道的是长度为k的回文串个数有9*10^(k-1),那么依次计算,得出n是长度为多少的串,然 ...

  9. 【leetcode】132. Palindrome Partitioning II

    题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...

  10. 409 Longest Palindrome

    Longest Palindrome 这题我完全想错了. 求最长回文.~~统计个个字母出现次数.奇数的保留最大的那个.偶数全保留.~~这个思路完全错了. 因为奇数中成对的数字也是可以拿来用的. 正确的 ...

最新文章

  1. 构建从目标到研发过程的全生命周期体验
  2. 自己动手,丰衣足食:从零开始写个 IDEA 插件,要啥功能就做啥!
  3. APP漏洞自动化扫描专业评测报告
  4. NYOJ 906 杨辉三角
  5. Linux zip加密压缩
  6. MySQL Proxy和 Amoeba 工作机制浅析
  7. UIUC CS241 系统编程中文讲义校对活动 | ApacheCN
  8. 服务器系统更新要多久,请问系统服务器多长时间更新一次
  9. php助理工作内容,生产助理的工作职责
  10. TLS总结(上)——我们为啥需要TLS
  11. 依赖倒置原则_SOLID 设计原则,Java实例讲解
  12. JLU数据结构第七次上机实验解题报告
  13. 锂电池是什么材料做的
  14. 记录五年前的天马行空的想象
  15. uni-app框架、微信小程序项目
  16. linux下删除以-开头的文件
  17. 谈谈BPM工作流引擎
  18. Windows 底下安装 git Server: Bonobo Git Server
  19. 单机rust怎么设置白天_rust怎么设置全屏 | 手游网游页游攻略大全
  20. Android-AbsoluteLayout(绝对布局)

热门文章

  1. nokia手机的含义
  2. 炫龙T50热键功能键
  3. 少儿编程---小猫追气球
  4. Mac安装redis并设置开机自启动
  5. 杀毒奇招:用安全网关消灭蠕虫病毒(转)
  6. 【已失效】免翻在Chrome上使用新必应(New Bing)聊天机器人
  7. Java代码判断字符串中是否含有表情
  8. 线性表的基本操作实现
  9. 任务调度之Elastic-Job
  10. 精通 Python OpenCV4:第一部分