125. 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例1:

输入: "A man, a plan, a canal: Panama"
输出: true

示例2:

输入: "race a car"
输出: false

题解:

本题思想就是双指针,一个指向头,一个指向尾,然后向彼此方向靠近。但是本题有个需要注意的点就是字符串中有可能出现标点符号和空格,我们调用Java API Character.isLetterOrDigit()来判断是不是字符串(自己手写判断方法也很简单,就是根据ASCII码判断),我们越过所有的标点符号,然后判断是不是回文字符串就行。

具体代码如下:

class Solution {public boolean isPalindrome(String s) {int left = 0, right = s.length() - 1;while (left < right) {while (left < right && !Character.isLetterOrDigit(s.charAt(left)))left++;while (left < right && !Character.isLetterOrDigit(s.charAt(right)))right--;if (Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))) {return false;}left++;right--;}return true;}
}

c语言判断字符串是不是回文_125. 验证回文串相关推荐

  1. C语言判断字符串是否为回文

    C语言判断字符串是否为回文 回文就是字符串中心对称,如"abcba"."abccba"是回文,"abcdba"不是回文. /*判断字符串是否 ...

  2. C语言判断字符串类型及个数并输出

    C语言判断字符串类型及个数并输出,这里判断的是: 小写字母:大写字母:空格:数字: #include <stdio.h> int main() {char a;int letter = 0 ...

  3. bigdecimal 判断是否为数字_C语言判断字符串是否为回文

    回文就是字符串中心对称,如"abcba"."abccba"是回文,"abcdba"不是回文. /*判断字符串是否为回文*/ #include ...

  4. 判断相等_C语言判断字符串是否为回文

    回文就是字符串中心对称,如"abcba"."abccba"是回文,"abcdba"不是回文. /*判断字符串是否为回文*/ #include ...

  5. c语言怎么判断字符是否为字母和数字,C语言判断字符串是否为数字

    标签:c 判断一个字符串是否为数字, 听起来很简单,实现还是有点难度的. 最近写了一个,如下: #define IS_BLANK(c) ((c) == ' ' || (c) == '\t') #def ...

  6. c语言-----判断字符串是否为点分十进制的IP地址

    判断字符串是否为点分十进制的IP地址 判断字符串是否为点分十进制的IP地址. 若是则转为16进制, 否则输出"error". 例如 输入:"192.41.6.20&quo ...

  7. c语言:判断字符串是否为回文(超详解)

    C语言运用数组读入字符串判断是否为回文 运行代码及解析 #include<stdio.h> int main(void) {int i,k;char c[20];printf(" ...

  8. c语言判断字符串是不是回文_LeetCode 热题 HOT 100 5. 最长回文子串

    题目 题解 暴力法 我们根据回文字符串特点进行判断一个字符串是不是回文. // 回文子串:首尾对称相等const isPalindrome = s => { // abba aba for (l ...

  9. C语言判断字符串是否为回文字符串

    判断一字符串是否是回文字符串 回文的意思即为该字符串从左往右读出来的值与从右往左读出来的值一样. 代码 #include <stdio.h> #include <stdlib.h&g ...

最新文章

  1. 算力超英伟达?华为推出两款“昇腾”芯片;五大AI战略正式公布
  2. ASP.NET Core Web Razor Pages系列教程一:使用ASP.NET Core 创建一个Razor Pages网络应用程序
  3. nodejs-Stream(流)
  4. Navicat远程服务器2013-Lost connection to MYSQL server at 'reading for initial communication packet' 公钥
  5. Selenium2+python自动化75-非input文件上传(SendKeys)
  6. 电影《姜子牙》要被改编成游戏了 期待吗?
  7. 利用国内镜像加快pip下载速度和成功率
  8. 免费资源下载:超酷超全的PSD按钮资源
  9. 5个相见恨晚的Linux命令
  10. linux下tab作用的描述?
  11. autocad型源代码_AutoCAD文件格式详解
  12. 西威变频器 服务器显示,西威变频器故障查询及操作方法;
  13. 计算机开机时10声响,电脑开机报警的声音有什么含义?详细教您认识报警声音
  14. Java并发理论知识框架总结
  15. 一次性搞懂css中的clamp函数,max函数,min函数,vmax,vmin
  16. java 首字母小写_Java中属性名首字母大小写问题
  17. github推送Please make sure you have the correct access rights and the repository exists.
  18. 华为虚拟服务器密码忘记怎么办,登录云服务器密码忘记了怎么办
  19. AVB源码学习(一):AVB2.0工作原理及编译配置
  20. 给定一个 32 位有符号整数,将整数中的数字进行反转。

热门文章

  1. ResNet50结构
  2. 操作系统常用词典(三)
  3. composer PHP Fatal error: Allowed memory size of 报错解决
  4. Laravel 7发行说明
  5. Python:Spider
  6. php+管道+pipe管道,C++ 匿名管道执行DOS命令
  7. java读取文本单词_使用Java计算文本文件中的单词数
  8. Ubuntu 系统打开任务管理
  9. Gradle dependency cache may be corrupt
  10. 关于Activity class {package/class} does not exist