应用
以字符串形式给定两行代码,1<长度<=100,由字母、数字、空格组成。请找出最长公共子字符串,如果不存在返回空字符串。
实现
str1 = input("请输入字符串1:")
str2 = input("请输入字符串2:")
a1 = [i for i in str1]
a2 = [i for i in str1]def child_s(a):lst = []for start in range(0, len(a)):for stop in range(start, len(a)):s = ""for k in range(start, stop+1):s = s + a[k]lst.append(s)return lstc1 = child_s(a1)
c2 = child_s(a2)
# print(c1)
# print(c2)same = []
for i in range(0, len(c1)):for j in range(0, len(c2)):if c1[i] == c2[j]:same.append(c1[i])
# print(same)if same:# 按照字符串长度从小到大排序for i in range(0, len(same)):for j in range(0, len(same)):if i != j:if len(same[i]) < len(same[j]):same[j], same[i] = same[i], same[j]print(same[-1])
else:print("")
请输入字符串1:hello123world
请输入字符串2:hello123abc4
hello123world