题目
描述
查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。
注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开!
本题含有多组输入数据!
输入描述:
输入两个字符串
输出描述:
返回重复出现的字符
示例1
输入:
abcdefghijklmnop
abcsafjklmnopqrstuvw
输出:
jklmnop
解题思路
(1)定义str1为最短字符串,str2为最长字符串
(2)遍历短字符串str1的每个字符,如果该字符存在于str2中,则i+1增加下一个字符继续判断
(3)i-n定位第1位字符的位置,i为最后1位字符出现的位置,s记录第一次出现的最长的公共子串