如输入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