index和maxLength是参考了其他大佬的操作,以及返回的str1.substring(index-maxLength+1,index+1);这里的循环其实可以从dp[0][0]开始,需要判断i==0||j==0,单独弄出来处理会比较更容易明白吧(对我而言) 题目保证str1和str2的最长公共子串存在且唯一。所以这里没有处理临界值(是否为空字符串),要处理的话用一个 if(str==null || str.equals(" "))判断应该就行了。 附上图片以助理解: 代码: public String LCS (String str1, String str2) ...