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

leetcode 1328.破坏回文串

题目链接LeetCode1328

1.题目

给你一个由小写英文字母组成的回文字符串 palindrome ,请你将其中 一个 字符用任意小写英文字母替换,使得结果字符串的 字典序最小 ,且 不是 回文串。
请你返回结果字符串。如果无法做到,则返回一个 空串 。
如果两个字符串长度相同,那么字符串 a 字典序比字符串 b 小可以这样定义:在 a 和 b 出现不同的第一个位置上,字符串 a 中的字符严格小于 b 中的对应字符。例如,"abcc” 字典序比 “abcd” 小,因为不同的第一个位置是在第四个字符,显然 ‘c’ 比 ‘d’ 小。

2.示例

1)示例 1:
输入:palindrome = “abccba”
输出:“aaccba”
解释:存在多种方法可以使 “abccba” 不是回文,例如 “zbccba”, “aaccba”, 和 “abacba” 。
在所有方法中,“aaccba” 的字典序最小。

2)示例 2:
输入:palindrome = “a”
输出:“”
解释:不存在替换一个字符使 “a” 变成非回文的方法,所以返回空字符串。

3)提示:

1 <= palindrome.length <= 1000
palindrome 只包含小写英文字母。

3.分析

关于让字符串字典序最小,首先的思路是,我们从头到尾扫一遍字符串,看看把它的字符换小可不可以满足不是回文串的需求,如果可以,返回修改后的字符串。如果前者都不能满足需求,我们可以从尾到头扫一遍字符串,把它的字符换大看可不可以满足不是回文串的需求。如果都不能满足,那么返回“”。

4.代码

class Solution {
public:bool check(string s){int left=0,right=s.size()-1;while(left+1<=right){if(s[left]!=s[right]) return false;//不是回文串left++;right--;}return true;}string breakPalindrome(string palindrome) {bool flag=false;for(int i=0;i<palindrome.size();i++)for(char j='a';j<palindrome[i];j++){string test=palindrome.substr(0,i)+j+palindrome.substr(i+1,palindrome.size()-i-1);// if(i==2&&j=='a') return test;if(!check(test)) return test;}for(int i=palindrome.size()-1;i>=0;i--)for(char j=palindrome[i]+1;j<='z';j++){string test=palindrome.substr(0,i)+j+palindrome.substr(i+1,palindrome.size()-i-1);if(!check(test)) return test;}return "";}
};
http://www.lryc.cn/news/311005.html

相关文章:

  • 重学SpringBoot3-自动配置机制
  • sql基本语法+实验实践
  • Node.js中的并发和多线程处理
  • node.js 封装分页查询
  • iptables 基本使用
  • 食品笔记()
  • C++入门和基础
  • 一些C语言知识
  • 代码工具APEX的入门使用(未包含安装)
  • 负载均衡.
  • Git 指令深入浅出【2】—— 分支管理
  • 工作流/任务卸载相关开源论文分享
  • 为什么要用Python?
  • 北京大学发布,将试错引入大模型代理学习!
  • Java 设计模式
  • Kivy和BeeWare 开发APP的优缺点,及其发展历史
  • C++递推
  • C++ 面试题
  • MySQL之索引详解
  • Java面试题总结8:springboot
  • Android 4.4 以下,OkHttp访问Https报错,设置了sslSocketFactory仍无效的解决方法
  • 如何扫码查看企业介绍及填写招聘表?招聘二维码在线生成的方法
  • 如何限制一个账号只在一处登陆
  • 日常工作总结
  • Android Activity启动模式
  • 【JavaScript】面试手撕防抖
  • 【Kubernetes】K3S
  • Docker实战——容器
  • 亚信安慧AntDB开启超融合数据库新纪元
  • 数学建模【多元线性回归模型】