1 #include <iostream>
2 #include <string>
3 using namespace std;
4
5 string longestStr(string str1, string str2) {
6 int len1 = str1.size();
7 int len2 = str2.size();
8 int i, j;
9 int max = 0, num = 0, start = 0;
10 for (i = 0; i < len1; ++i) {
11 for (j = 0; j < len2; ++j) {
12 int start1 = i;
13 int start2 = j;
14 while ((start1 < len1 - 1)&&(start2 <= len2 - 1) && (str1[start1++] == str2[start2++])) {
15 num++;
16 }
17 if (num > max) {
18 max = num;
19 start = i;
20 }
21 num = 0;
22 }
23
24 }
25 string str;
26 str = str1.substr(start, max);
27 return str;
28 }
29
30 int main() {
31 string str1 = "abccade";
32 string str2 = "agbccaar";
33 string str = longestStr(str1, str2);
34 cout << str << endl;
35 return 0;
36 }