680.验证回文串||

devtools/2025/2/4 15:22:40/

解题思路

最多删除一个字符使其成为回文串,首先根据回文串的特点,即两边互相对应。
因此判断的方法可以有两种:

  • 翻转后两个字符串相同,是回文串
  • 使用双指针进行判断

这里需要涉及删除,因此使用双指针,l和r,假设l不等于r,则l++,同时记录删除字符的个数cnt–,如果第二次遇到l不等于r,则不能成为一个回文串,反之则可以。
上面的分析存在漏洞,当l和r所处位置不能构成回文串时,有两种做法,一种是删除l位置的字符,则l++,另一种是删除r位置的字符则r–,当这两种做法至少有一个是回文串则能够继续进行。

java">class Solution {public boolean validPalindrome(String s) {// 获取长度int len = s.length();int left = 0, right = len - 1;// 双指针while(left < right){// 取出字符串中的字符char c1 = s.charAt(left), c2 = s.charAt(right);// 判断if (c1 == c2){++left;--right;}else {// 不相等则递归return validPalindrome(s, left, right-1) || validPalindrome(s, left+1, right);}}return true;}public boolean validPalindrome(String s, int left, int right){// 该函数只需要判断两种情况能否满足是回文串for (int i = left, j = right; i < j; ++i, --j){char c1 = s.charAt(i), c2 = s.charAt(j);if (c1 != c2){return false;}}return true;}
}

http://www.ppmy.cn/devtools/156040.html

相关文章

DeepSeek-R1:通过强化学习激励大型语言模型(LLMs)的推理能力

摘要 我们推出了第一代推理模型&#xff1a;DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero是一个未经监督微调&#xff08;SFT&#xff09;作为初步步骤&#xff0c;而是通过大规模强化学习&#xff08;RL&#xff09;训练的模型&#xff0c;展现出卓越的推理能力。通过强…

项目中用的网关Gateway及SpringCloud

在现代微服务架构中&#xff0c;网关&#xff08;Gateway&#xff09;起到了至关重要的作用。它不仅负责路由请求&#xff0c;还提供了统一的认证、授权、负载均衡、限流等功能。Spring Cloud Gateway 是 Spring Cloud 生态系统中的一个重要组件&#xff0c;专门为微服务架构提…

appmatrix平台(一个汇集原创web APP的平台)服务规划

Appmatrix平台&#xff08;一个汇集原创web APP的平台&#xff09;服务规划 Web app是部署机器学习、深度学习等需要算力较大的应用的主要形式&#xff0c;一般都是独立、散在部署&#xff0c;对使用和相互交流造成了一定的不便。App Matrix将各类web应用汇集在一起&#xff0…

图书管理系统 Axios 源码__获取图书列表

目录 核心功能 源码介绍 1. 获取图书列表 技术要点 适用人群 本项目是一个基于 HTML Bootstrap JavaScript Axios 开发的图书管理系统&#xff0c;可用于 添加、编辑、删除和管理图书信息&#xff0c;适合前端开发者学习 前端交互设计、Axios 数据请求 以及 Bootstrap 样…

基于springboot+vue的流浪动物救助系统的设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

性能优化2-删除无效引用

依赖错综复杂&#xff0c;如何判断是有效依赖 1. package.json webpack升到3以后&#xff0c;未使用的dependence不会被打包&#xff1b;devDependence和dependence基本没啥区别&#xff1b;即生产依赖放入dev中&#xff0c;也能正常打包&#xff1b;但我们仍需遵守依赖的放置…

XCCL、NCCL、HCCL通信库

XCCL提供的基本能力 XCCL提供的基本能力 不同的XCCL 针对不同的网络拓扑&#xff0c;实现的是不同的优化算法的&#xff08;不同CCL库最大的区别就是这&#xff09; 不同CCL库还会根据自己的硬件、系统&#xff0c;在底层上面对一些相对应的改动&#xff1b; 但是对上的API接口…

基于springboot+vue的哈利波特书影音互动科普网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…