文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你两个字符串 a 和 b ,它们长度相同。
请你选择一个下标,将两个字符串都在 相同的下标 分割开。
由 a 可以得到两个字符串: aprefix 和 asuffix ,满足 a = aprefix + asuffix ,同理,由 b 可以得到两个字符串 bprefix 和 bsuffix ,满足 b = bprefix + bsuffix

请你判断 aprefix + bsuffix 或者 bprefix + asuffix 能否构成回文串。

当你将一个字符串 s 分割成 sprefix 和 ssuffix 时, ssuffix 或者 sprefix 可以为空。
比方说, s = "abc" 那么 "" + "abc""a" + "bc""ab" + "c""abc" + "" 都是合法分割。

如果 能构成回文字符串 ,那么请返回 true,否则返回 false 。

请注意, x + y 表示连接字符串 x 和 y 。

示例 1:
输入:a = "x", b = "y"
输出:true
解释:如果 a 或者 b 是回文串,那么答案一定为 true ,因为你可以如下分割:
aprefix = "", asuffix = "x"
bprefix = "", bsuffix = "y"
那么 aprefix + bsuffix = "" + "y" = "y" 是回文串。示例 2:
输入:a = "ulacfd", b = "jizalu"
输出:true
解释:在下标为 3 处分割:
aprefix = "ula", asuffix = "cfd"
bprefix = "jiz", bsuffix = "alu"
那么 aprefix + bsuffix = "ula" + "alu" = "ulaalu" 是回文串。提示:
1 <= a.length, b.length <= 105
a.length == b.length
a 和 b 都只包含小写英文字母

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/split-two-strings-to-make-palindrome
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:bool checkPalindromeFormation(string a, string b) {int l = 0, r = a.size()-1;while(l < r && a[l] == b[r])//先找出a的前缀  和 b的后缀的逆序 相同的{l++, r--;}if(ispalind(a.substr(l, r-l+1)) || ispalind(b.substr(l, r-l+1)))return true;l = 0, r = a.size()-1;while(l < r && b[l] == a[r])// 找出b的前缀  和 a的后缀的逆序 相同的{l++, r--;}if(ispalind(a.substr(l, r-l+1)) || ispalind(b.substr(l, r-l+1)))return true;return false;}bool ispalind(string s){int l = 0, r = s.size()-1;while(l < r){if(s[l++] != s[r--])return false;}return true;}
};

256 ms 28.4 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1616. 分割两个字符串得到回文串相关推荐

  1. 分割两个字符串得到回文串[抽象--去除具体个性取共性需求]

    抽象 前言 一.分割两个字符串得到回文串 二.双指针 总结 参考文献 前言 抽象去个性留共性,是因为具体个性对于解决问题是个累赘.少了累赘,直击需求,才能进行问题转换或者逻辑转换. 一.分割两个字符串 ...

  2. 力扣--让字符串成为回文串的最少插入次数

    力扣–让字符串成为回文串的最少插入次数 文章目录 力扣--让字符串成为回文串的最少插入次数 一.题目描述 二.分析 三.代码 相关题目: 腾讯–构造回文:腾讯–构造回文 最长回文子串和回文链表:最长回 ...

  3. leetcode 高薪_利用两种不同的方法解LeetCode第1312题:让字符串成为回文串的最少插入次数

    题目描述(难度困难) 给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符.请你返回让 s 成为回文串的 最少操作次数 . 「回文串」是正读和反读都相同的字符串. 示例 1: 输入: ...

  4. 怎么判断一个字符串的最长回文子串是否在头尾_【Leetcode每日打卡】最长回文串...

    干货预警:所有文章都会首发于我的公众号[甜姨的奇妙冒险],欢迎watch. 一.来历: 力扣从3月开始开启了每日一题打卡活动,于是跟风加入了打卡大军,这两天写评论.发题解,没想到反响还不错,收到了来自 ...

  5. LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符. 请你返回让 s 成为回文串的 最少操作次数 . 「回文串」是正读和反读都相同的字 ...

  6. leetcode 探索 数组和字符串 验证回文串

    问题 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, ...

  7. 字符串-验证回文串(双指针法)

    注: 回文串"是一个正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串. 题意: 给定一个字符串,验证它是否是回文串,只考虑字 ...

  8. 字符串处理 —— 回文串相关 —— Manacher 算法

    [概述] Manacher 算法又称马拉车算法,用于求最长回文子串. 对于最长回文子串传统的求法的求法是以每个字符为中心,向两边寻找回文子串,在遍历完整个数组后即可得到最长回文子串,其时间复杂度为 O ...

  9. 字符串处理 —— 回文串相关 —— 添加/删除字符后是否为回文串

    [问题] 给定一个字符串,问对该字符串,是否能通过添加一个字符后变为回文串. 若可以,输出 YES,否则输出 NO 对于该问题,首先要明白,删除一个字符与添加一个字符在判断回文串中是等价的. [暴力枚 ...

最新文章

  1. android 监听物理返回键,Android应用开发之react-native 监听Android物理返回键
  2. Linux学习——shell编程之变量
  3. 大数据让人们得到更加细致和人性化的服务
  4. Spring(19)——Profile(二)
  5. JSP简单练习-javaBean的简单应用
  6. OpenGL DoubleWrite的实例
  7. 没有梦想,你跟咸鱼有什么分别?
  8. [ python ] 基础技巧
  9. spark学习-Spark的Map()和FlatMap()函数使用
  10. 使用LoadBalancerClient就行服务消费
  11. ASP.NET学生管理系统(.NET毕业设计)
  12. php 动态生成网站地图,DedeCMS网站地图动态生成方法
  13. FAST迅捷路由器设置
  14. SpringSecurity系列——会话管理,CSRFday8-1(源于官网5.7.2版本)
  15. Unity3d地图制作之模型高光
  16. 【正点原子STM32连载】第四章 STM32初体验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  17. 全球及中国富维生素矿物质食品行业研究及十四五规划分析报告
  18. java 家庭电视类_Java-家中的电视机
  19. 2022-09-08 mysql/stonedb-慢SQL-记录
  20. 更改 IE 收藏夹 位置

热门文章

  1. pcie1 4 速度_太阳系行星们谁转得最快?八大行星自转速度排行榜,地球排第五...
  2. java实现控件绑定数据源_控件(三)——TreeView控件以XmlDataSource控件为数据源实现简单的绑定...
  3. linux 下安装部署mq,RocketMQ在linux下安装部署
  4. 环境变量bootcmd、bootargs的参数含义
  5. linux驱动简单介绍
  6. android设置访问internet权限
  7. 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)
  8. SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
  9. 微软Webcast课程下载软件iReaper正式登陆Android平台
  10. Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)