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 }