Java实现 LeetCode 125 验证回文串

时间:2021-12-08 03:46:54

125. 验证回文串

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

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

示例 1:

输入: “A man, a plan, a canal: Panama”

输出: true

示例 2:

输入: “race a car”

输出: false

class Solution {
public boolean isPalindrome(String s) { if (s.length() <= 1)
return true; int left = 0;
int right = s.length() - 1;
char[] chars = s.toCharArray(); while (left < right) { //调整空格
if ((int) chars[left] == 32 )
left++; if ((int) chars[right] == 32)
right--; //调整大写 A-Z 65-90 || a-z 97-122
if ((int) chars[left] >= 65 && (int) chars[left] <= 90)
chars[left] = (char) ((int) chars[left] + 32);
if ((int) chars[right] >= 65 && (int) chars[right] <=90)
chars[right] = (char) ((int) chars[right] + 32); //验证目标字符为数字或字母
boolean flag1 = (chars[left] >= '0' && chars[left] <= '9') || (chars[left] >= 'a' && chars[left] <= 'z');
boolean flag2 = (chars[right] >= '0' && chars[right] <= '9') || (chars[right] >= 'a' && chars[right] <= 'z'); //正式比较
if (flag1 && flag2 && chars[left] != chars[right]) {
return false;
}else if (!flag1){
left++;
}else if (!flag2){
right--;
}else {
left++;
right--;
} }
return true;
}
}

Java实现 LeetCode 125 验证回文串的更多相关文章

  1. 前端与算法 leetcode 125&period; 验证回文串

    目录 # 前端与算法 leetcode 125. 验证回文串 题目描述 概要 提示 解析 解法一:api侠 解法二:双指针 算法 传入测试用例的运行结果 执行结果 GitHub仓库 查看更多 # 前端 ...

  2. leetcode 125&period; 验证回文串&lpar;python&rpar;

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  3. Leetcode 125&period;验证回文串 By Python

    思路 显然一个字符串不止包括字母和数字字符,所以我们可以先提取出来我们要进行比较的字符 还有一个问题是,字母是分大小写的,我们要统一大写或者统一小写,就是规范化 代码 class Solution(o ...

  4. LeetCode:验证回文串【125】

    LeetCode:验证回文串[125] 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...

  5. 力扣(LeetCode)验证回文串 个人题解

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  6. leetcode&period;字符串&period;125验证回文串-Java

    1. 具体题目 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写.说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a pl ...

  7. 力扣(LeetCode)125&period; 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  8. 力扣(LeetCode)验证回文串 个人题解(C&plus;&plus;)

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  9. Leetcode 125&period;验证回文字符串&lpar;Python3&rpar;

    题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, ...

随机推荐

  1. Objective-C中的深拷贝和浅拷贝

    在Objective-C中对象之间的拷贝分为浅拷贝和深拷贝.说白了,对非容器类的浅拷贝就是拷贝对象的地址,对象里面存的内容仍然是一份,没有新的内存被分配.对非容器类的深拷贝就是重写分配一块内存,然后把 ...

  2. MySQL查询缓存

    MySQL查询缓存 用于保存MySQL查询语句返回的完整结果,被命中时,MySQL会立即返回结果,省去解析.优化和执行等阶段. 如何检查缓存? MySQL保存结果于缓存中: 把SELECT语句本身做h ...

  3. Stanford机器学习笔记-5&period;神经网络Neural Networks &lpar;part two&rpar;

    5 Neural Networks (part two) content: 5 Neural Networks (part two) 5.1 cost function 5.2 Back Propag ...

  4. ClassLoader工作机制

    阅读目录 一.ClassLoader概念 二.JVM平台提供三层classLoader 三.JVM加载class文件到内存有两种方式 四.ClassLoader加载类的过程 五.自定义类加载器 六.实 ...

  5. C&plus;&plus; 11 学习3:显示虚函数重载&lpar;override&rpar;

    5.显示虚函数重载 在 C++ 里,在子类中容易意外的重载虚函数.举例来说: struct Base { virtual void some_func(); }; struct Derived : B ...

  6. PHPStorm 常用 设置配置 和快捷键大全 Win&sol;Mac

    [转自 http://blog.csdn.net/fenglailea/article/details/53350080] PHPStorm 下载及主题样式下载 http://www.lanmps.c ...

  7. Python中 sys&period;argv&lbrack;&rsqb;的用法简明解释

    sys.argv[]就是一个从程序外部获取参数的桥梁,这个“外部”很关键.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能 ...

  8. docker17&period;03&period;2安装

    之前安装过docker 卸载 yum -y remove docker docker-common docker-selinux docker-engine docker-engine-selinux ...

  9. ubuntu 添加开机启动服务

    新建umpserver.service [Unit] Description=UMPServer After=syslog.target network.target remote-fs.target ...

  10. python,魔法方法指南

    1.简介 本指南归纳于我的几个月的博客,主题是 魔法方法 . 什么是魔法方法呢?它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加“魔法”的特殊方法. 它们经常是两个下划线包围来命名的 ...