1 public class Solution {
2 /**
3 * @param A, B: Two string.
4 * @return: the length of the longest common substring.
5 */
6 public int longestCommonSubstring(String aA, String aB) {
7 if (aA.isEmpty() || aB.isEmpty()){
8 return 0;
9 }
10 char[] charA = aA.toCharArray();
11 char[] charB = aB.toCharArray();
12 int cubString = 0;
13 for (int i = 0; i < aA.length(); i++){
14 for (int j = 0; j < aB.length(); j++){
15 int tempCubString = 0;
16 while ((j + tempCubString < aB.length()) && (i + tempCubString < aA.length())
17 && charA[i + tempCubString] == charB[j + tempCubString]){
18 tempCubString++;
19 }
20 if (tempCubString > cubString){
21 cubString = tempCubString;
22 }
23 }
24 }
25 return cubString;
26 }
27 }