题解 | #查找两个字符串a,b中的最长公共子串#
查找两个字符串a,b中的最长公共子串
http://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
两个知识点: (1)两个字符串调换 a,b = b, a (2) 从较短的字符串开始遍历 range(len(a)): 但是记住range(0, len(a)):取不到len(a),那么这样就取不到字符串最后一个字符 然后从0-1,0-2,0-3,0-4,0-5,0-len(a)+1——>0-j+1,j=1,2,3,4,...len(a) 判断是否在b当中。直接就是s in b 如果j+1-i>len(res) res = a[i:j+1]
while True:
try:
a, b = input(), input() # a保存短,b保存长
if len(a) > len(b):
a, b = b, a
res = ''
for i in range(0, len(a)):
for j in range(i, len(a)):
if a[i:j+1] in b and j+1-i > len(res):
res = a[i:j+1]
print(res)
except:
break