题解 | #查找两个字符串a,b中的最长公共子串#
查找两个字符串a,b中的最长公共子串
https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
# 第一步:获取两个入参,以及两个入参长度 num1=input() num2=input() length1,length2=len(num1),len(num2) # 第二步:判断两个入参大小。小的在第一个,大的在第二个 if length2<length1: length1,length2=length2,length1 num1,num2=num2,num1 # 第三步:遍历小入参。以切片格式判断所有公共子字符串。所以公共子字符串放到list1 list1=[] for i in range(length1): for j in range(i,length1): if num1[i:j+1] in num2: list1.append(num1[i:j+1]) # 第四步:遍历list1,所有子字符串长度分别计算,放到list2 list2=[] for i in list1: list2.append(len(i)) # 第五步:遍历list1:公共子字符串中,长度最长的元素都放到list3中 list3=[] for i in list1: if len(i)==max(list2): list3.append(i) # 第六步:返回list3的第一个元素 print(list3[0])