当前位置: 首页 > news >正文

剑指 Offer II 019. 最多删除一个字符得到回文

题目链接

剑指 Offer II 019. 最多删除一个字符得到回文 easy

题目描述

给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串

示例 1:

输入: s = “aba”
输出: true

示例 2:

输入: s = “abca”
输出: true
解释: 可以删除 “c” 字符 或者 “b” 字符

示例 3:

输入: s = “abc”
输出: false

提示:

  • 1<=s.length<=1051 <= s.length <= 10^51<=s.length<=105
  • s由小写英文字母组成

分析:

因为要求 最多删除一个字符,能否构成回文串。

  • s[i] == s[j],那么直接缩减范围 i++ , j--
  • s[i] != s[j],直接判断 s[i+1,j]或者 s[i,j-1]是否为回文串即可(相当于删除了一个字符)

时间复杂度: O(n)O(n)O(n)

C++代码:

class Solution {
public:bool check(int l,int r,string &s){for(int i = l,j = r;i < j;i++,j--){if(s[i] != s[j]) return false;}return true;}bool validPalindrome(string s) {int n = s.size();for(int i = 0,j = n - 1;i < j;){if(s[i] == s[j]){i++;j--;}else{return check(i + 1,j,s) || check(i,j-1,s);}}return true;}
};

Java代码:


class Solution {private boolean check(int l,int r,String s){for(int i = l,j = r;i < j;i++,j--){if(s.charAt(i) != s.charAt(j)) return false;}return true;}public boolean validPalindrome(String s) {int n = s.length();for(int i = 0,j = n - 1;i < j;){if(s.charAt(i) == s.charAt(j)){i++;j--;}else{return check(i+1,j,s) || check(i,j-1,s);}}return true;}
}
http://www.lryc.cn/news/31910.html

相关文章:

  • RK3568驱动OV13850摄像头模组调试过程
  • Go项目的目录结构基本布局
  • CHAPTER 1 Linux Filesystem Management
  • RocketMQ架构篇 - 读写队列与生产者如何选择队列
  • 华为OD机试真题Python实现【通信误码】真题+解题思路+代码(20222023)
  • 【单目3D目标检测】MonoDDE论文精读与代码解析
  • 复习 Kotlin 从小白到大牛 第二版 笔记要点
  • X264简介-Android使用(二)
  • 【独家】华为OD机试 - 统计差异值大于相似值二元组个数(C 语言解题)
  • 掌握好Framework 才是王道~
  • Codeforces Round 856 (Div. 2) A — C
  • 2022年MathorCup数学建模B题无人仓的搬运机器人调度问题解题全过程文档加程序
  • 开源项目的演进会遇到哪些“坑”?KubeVela 从发起到晋级 CNCF 孵化的全程回顾
  • MSDP实验配置
  • 惊!初中生也来卷了……
  • kafka相关配置介绍
  • 【PyTorch】教程:torch.nn.Hardtanh
  • 神垕古镇景区5A级十年都没有实现的三大主因
  • react函数组件常用的几个钩子函数useState、useEffect、useRef、useCallback
  • 4N60-ASEMI高压MOS管4N60
  • 现代神经网络(VGG),并用VGG16进行实战CIFAR10分类
  • Java代码弱点与修复之——Dereference null return value(间接引用空返回值)
  • 【冲刺蓝桥杯的最后30天】day3
  • 光伏发电嵌入式ARM工控机
  • 推荐 7 个 Vue.js 插件,也许你的项目用的上(五)
  • 1.1基于知识图谱的项目实战:优酷搜索泛查询意图优化
  • [java Spring JdbcTemplate配合mysql实现数据批量删除
  • uos 20 统信 fprintd 记录
  • vue移动端h5,文本溢出显示省略号,且展示‘更多’按钮
  • php宝塔搭建部署实战兰空图床程序网站PHP源码