LeetCode:验证回文串【125】

LeetCode:验证回文串【125】

题目描述

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

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

示例 1:

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

示例 2:

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

题目分析

  很明显这是双指针问题,回文判断的方式有很多种,最简单的是将原字符串逆序后判断两者是否相同。但是显然这里有干扰字符,所以无法直接使用这一方法。

  那我们只好模拟回文的判断方法,就是两个指针分别从左右出发,遇到干扰字符跳过,遇到相同字符则接着向内靠拢,如果合法字符但是不相同,则不符合回文规律。  

  思路很清晰,但是最重要的是把细节扣好,比如双指针相遇的条件、干扰字符跳过、不合法的种种情况识别等等

Java题解

class Solution {public boolean isPalindrome(String s) {s=s.toLowerCase().trim();int left =0;int right = s.length()-1;while(left<right){while(!isValid(s.charAt(left))&&left<right)left++;while(!isValid(s.charAt(right))&&left<right)right--;if(left>right)return false;if(s.charAt(left)!=s.charAt(right))return false;left++;right--;}return true;}public boolean isValid(char c){if((c>='0'&&c<='9')||(c>='a'&&c<='z'))return true;return false;}
}

转载于:https://www.cnblogs.com/MrSaver/p/9692871.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些好玩的创客玩件

桌面天气预报站&#xff1a;https://mc.dfrobot.com.cn/thread-311127-1-1.html

云数据中心网络遇到的问题_云数据中心面临安全问题,华为SDN解决方案有一个安全大脑...

CNET科技资讯网 9月23日 北京消息(文/周雅)&#xff1a;当越来越多的企业开始采用云服务&#xff0c;安全问题往往成为待考虑的问题。在传统IT环境中&#xff0c;企业默认的逻辑架构是可信的&#xff0c;数据在自己手里&#xff0c;系统部署在自己的数据中心&#xff0c;有自己…

会唱歌的路

文 | 贰沐编辑 | 贰沐 子鱼会唱歌的路&#xff1f;&#xff01;是什么意思&#xff1f;是说路会自己唱歌吗&#xff1f;开车行驶在普通的道路上&#xff0c;我们能够听到“嗡嗡”的各种杂乱无章的声音&#xff0c;而在有些特殊的路上&#xff0c;我们可以听到路面在发出有节奏的…

linux查看wifi信号命令_使用Nmcli命令从Linux终端连接WiFi

i使用Nmcli命令从Linux终端连接WiFi在linux系统中有几种用于管理无线网络接口的命令行工具。 其中的一些可用于简单查看无线网络接口状态(无论是启动还是关闭 &#xff0c;或者是否连接到任何网络)&#xff0c;如iw &#xff0c; iwlist &#xff0c; ip &#xff0c; ifconfig…

Modbus crc16校验

CRC-16 / MODBUS &#xff1a; 1&#xff09;CRC寄存器初始值为 FFFF&#xff1b;即16位全为1&#xff1b; 2&#xff09;CRC-16 / MODBUS的多项式A001H (1010 0000 0000 0001B) ‘H’表示16进制数&#xff0c;‘B’表示二进制数 计算步骤为&#xff1a; (1).预置 16 位寄存…

我的前同事,阿里大牛的技术感悟

以下内容转自前同事现阿里技术大牛-王怀利——现在想想&#xff0c;从业十年了&#xff0c;现在做的活&#xff0c;都不如我大学的时候做的项目&#xff0c;那么具有“技术含量”和挑战。一个是&#xff0c;我用最便宜的12M单片机开发的计时算法&#xff0c;帮老师赚了一笔钱。…

算法熟记-排序系列-堆排序

1. 简述 假设待排序数组为 int array[], 数组长度为n。 主要是利用堆的性质。对于升序排序&#xff0c;使用最大堆。 首先&#xff0c;建堆&#xff0c;使用递归后根序遍历得方法&#xff0c;通过交换元素&#xff0c;保证根元素比孩子元素大。 第1趟&#xff0c;堆顶…

oracle入库的速度能到多少_多线程能提高Oracle的入库速度吗

多线程能提高Oracle的入库速度吗最近常常和同事们讨论“系统架构”&#xff0c;其中有不免提到如何使用“多线程”来改善系统性能。有些同事普遍有一种“认为”&#xff1a;他们认为“多线程”是改善系统性能的“灵丹妙药”&#xff0c;他们简单的认为&#xff0c;“多线程”导…

数据结构-- 线性表之链式存储

https://www.cnblogs.com/ZWOLF/p/10604252.html

那些年,我和发哥在恒大的日子

在广州上班那会&#xff0c;我们在恒大中心旁边的利通大厦上班&#xff0c;我和薛总每天一起上下班&#xff0c;那时候宿舍还有盼盼&#xff0c;有时候玩开心的时候&#xff0c;我就会跟他们说&#xff0c;等过了很多年后&#xff0c;我们要写一本说&#xff0c;书的名字就叫做…

十六进制转化为十进制

package lsh.element.numbersystem;import java.util.Scanner;/*** * desc 有意思的地方&#xff1a;两种思想得到的结果都是正确的&#xff0c;但是超出int类型最大之后&#xff0c;错误值却不同* * author * LSH* 2018年9月23日*/ public class HexToDecimalConver…

回来了

三年了 又回来了 未来去哪里转载于:https://blog.51cto.com/itcnjd/589429

KEIL高级调试——条件断点

在线调试程序时&#xff0c;打断点是非常有效的一种方式&#xff0c;配合单步调试&#xff0c;可以快速定位问题。但是有时候&#xff0c;手动打断点用起来不是那么方便。比如想要在一个循环的第N次停下来&#xff0c;如果手动打断点&#xff0c;那就要不停的点击单步运行&…

emailjava中怎么校验_Java使用注解实现参数统一校验功能

在项目开发中&#xff0c;当使用配置文件的时候&#xff0c;需要对一些配置参数进行合法校验&#xff0c;如果不存在则会抛出异常或者提醒用户重新修改配置文件后运行系统。 以前的做法就是读取到配置文件后&#xff0c;每个配置项挨个检查&#xff0c;写多个if判断是否存在问题…

原来保险丝熔断原理是这样的

如果电路中的保险丝熔断了&#xff0c;想亮起一个灯来指示&#xff0c;可以考虑用这个电路&#xff1a;这个电路的工作逻辑&#xff1a;当保险丝F1正常工作时&#xff0c;只亮起绿灯LED2。当保险丝F1熔断时&#xff0c;熄灭绿灯LED2&#xff0c;亮起红灯LED1&#xff0c;告诉人…

redhat6 使用raid5的系统安装

raid5安装步骤&#xff08;有三个磁盘&#xff0c;分别是sda/sdb/sdc&#xff09; 1.独立给/boot创建一个分区&#xff08;可以在创建software raid前后创建&#xff0c;但是不能加入raid software,例如&#xff1a;一个磁盘为sda&#xff0c;那我们把sda1作为/boot的独立分区&…

docker 定时重启脚本_使用 Go 添加启动脚本

简介实践困惑总结当前部分的代码简介虽然 Makefile 能很好的整合各种命令, 是一个非常方便的工具. 但启动脚本也是必不可少的, Makefile 更多用于开发阶段, 比如编译, 单元测试等流程.启动脚本的作用是控制程序的状态, 管理程序的启动, 停止, 查询运行状态等.实践直接上脚本了:…

SpringBoot在自定义类中调用service层等Spring其他层

解决方案&#xff1a; 1.上代码Component public class ServerHandler extends IoHandlerAdapter {Autowiredprotected HealthDataService healthDataService;private static ServerHandler serverHandler ;PostConstruct //通过PostConstruct实现初始化bean之前进行的操作pu…

为什么我的U盘空间变小了:图解 FAT 文件系统基础知识

作者 | 鱼鹰Osprey转自 | 鱼鹰谈单片机FAT 文件系统是什么&#xff0c;当你格式化 U 盘之后 U 盘发生了什么&#xff0c;为什么删除的文件还可以再恢复&#xff1f;买的 U 盘明明写着 16 G&#xff0c;实际却只有15 G&#xff0c;这里隐藏了什么事实&#xff1f;FAT 文件系统随…

持续集成(CI)- 各种工具的资料总结

为了实施CI&#xff0c;必须使用工作的支持&#xff0c;以使整个过程的自动化进行&#xff0c;以下把该过程涉及的各种工具汇集一下 必须的工具和功能 源代码控制系统 微软的工具: Microsoft Team Foundation Server (TFS) 或VSS 开源工具: 服务端&#xff1a; Subversion&…