如何验证网站,h5开发网站优点,新塘网站设计,简述网站建设过程步骤文章目录1. 题目2. 解题1. 题目
给你两个字符串 a 和 b #xff0c;它们长度相同。 请你选择一个下标#xff0c;将两个字符串都在 相同的下标 分割开。 由 a 可以得到两个字符串#xff1a; aprefix 和 asuffix #xff0c;满足 a aprefix asuffix #xff0c;同理它们长度相同。 请你选择一个下标将两个字符串都在 相同的下标 分割开。 由 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-l1)) || ispalind(b.substr(l, r-l1)))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-l1)) || ispalind(b.substr(l, r-l1)))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阿明一起加油、一起学习进步