[剑指offer专项突击版-Java解法]剑指 Offer II 019. 最多删除一个字符得到回文
2021/9/24 22:10:44
本文主要是介绍[剑指offer专项突击版-Java解法]剑指 Offer II 019. 最多删除一个字符得到回文,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
剑指 Offer II 019. 最多删除一个字符得到回文
题目描述
给定一个非空字符串 s
,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。
示例 1:
输入: s = "aba" 输出: true
示例 2:
输入: s = "abca" 输出: true 解释: 可以删除 "c" 字符 或者 "b" 字符
示例3:
输入: s = "abc" 输出: false
提示:
1 <= s.length <= 105
s
由小写英文字母组成
思路解析
1.回文串升级版
2.需要进行贪心,如果两边不相等的时候,我们有一次机会去删除一个字符,那么再继续比较l+1到r之间是不是回文或者l到r-1之间是不是回文
代码实现
class Solution { public boolean validPalindrome(String s) { char[] chars = s.toCharArray(); int left = 0,right = chars.length-1; int cnt = 1; while(left<right) { if(chars[left]!=chars[right]) { return isEcho(chars,left+1,right)||isEcho(chars,left,right-1); } left++; right--; } return true; } public boolean isEcho(char[] chars,int l ,int r) { while(l<r) { if(chars[l]!=chars[r]) return false; l++; r--; } return true; } }
欢迎大佬们关注小弟的博客https://blog.csdn.net/qq_41522089
这篇关于[剑指offer专项突击版-Java解法]剑指 Offer II 019. 最多删除一个字符得到回文的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-19Token处理入门教程:新手必看指南
- 2024-09-19如何应对被动登出课程的情况:新手必读指南
- 2024-09-19打包优化课程:初学者的必备指南
- 2024-09-19登录鉴权课程:新手入门教程
- 2024-09-19动态菜单项课程:新手入门详解
- 2024-09-19动态路由表课程:新手入门教程
- 2024-09-19动态面包屑课程:入门与实践指南
- 2024-09-19动态权限课程:新手入门教程
- 2024-09-19动态主题处理课程:新手入门教程
- 2024-09-19服务器购买课程:新手入门必学指南