首页 > 试题广场 >

字符串是否由子串拼接

[编程题]字符串是否由子串拼接
  • 热度指数:3676 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给出一个非空的字符串,判断这个字符串是否是由它的一个子串进行多次首尾拼接构成的。
例如,"abcabcabc"满足条件,因为它是由"abc"首尾拼接而成的,而"abcab"则不满足条件。

输入描述:
非空字符串


输出描述:
如果字符串满足上述条件,则输出最长的满足条件的的子串;如果不满足条件,则输出false。
示例1

输入

abcabc

输出

abc
头像 bandiaoz
发表于 2024-12-21 14:26:06
解题思路 这是一个字符串首尾拼接问题,需要判断一个字符串是否由某个子串重复拼接而成 解题步骤: 将原字符串拼接自身得到双倍长度的字符串 去掉拼接后字符串的首尾字符 在处理后的字符串中查找原字符串 如果找到且位置在前半部分,则说明存在满足条件的子串 代码 cpp java py 展开全文