class Solution {
public:
/**
* @param A: A string
* @param B: A string
* @return: the length of the longest common substring.
*/int lcs(string a, string b, int x, int y) {
intmax = 0, cur = 0;
for (int i = 0; i<a.length() - x; i++) {
if (y + i == b.length()) {
max = max<cur ? cur : max;
returnmax;
}
if (a[x + i] != b[y + i]) {
max = max<cur ? cur : max;
cur = 0;
} else {
cur++;
}
}
max = max<cur ? cur : max;
returnmax;
}
int longestCommonSubstring(string &A, string &B)
{
// write your code herestring a(A), b(B);
intmax = 0;
for (int i = 0; i<a.length(); i++) {
int cur = lcs(a, b, i, 0);
max = max<cur ? cur : max;
}
for (int i = 0; i<b.length(); i++) {
int cur = lcs(a, b, 0, i);
max = max<cur ? cur : max;
}
returnmax;
}
};