如输入abcabc,则返回abc,若输入abcbc,返回false.
我的思路是:只要是由子字符串拼接的,那么子字符串的长度肯定是原来字符串长度的一个因子,所有可以先求出因子,再根据因子的长度进行分割,即可得出结果
代码如下
def findFactor(n):
buff = []
for i in range(1,n):
if n%i == 0:
buff.append(i)
return buff
def subString(s):
Factor = findFactor(len(s))
for sp in Factor:
start = s[0:sp]
n = 0
while True:
if n == len(s)/sp-1:
if start != s[sp*n:]:
break
else:
return True
if start != s[sp*n:sp*(n+1)]:
break
n += 1
return False

本文介绍了一种检测字符串是否由子串重复构成的方法。通过计算字符串长度的因子来确定可能的子串长度,并验证该子串是否能重复构成原字符串。文章提供了具体的实现代码。
5198

被折叠的 条评论
为什么被折叠?



