本帖最后由 为梦想而活着 于 2014-7-15 16:31 编辑
毕老师讲解到这个的时候说的我不是很明白,再听还是不能明白,现在将我不明白的问题列下来求各位解答?
核心代码如下:
- public static String getMaxSubString(String s1,String s2)
- {
- String max = "",min = "";
- //得到大的那个子串
- max = (s1.length()>s2.length())?s1: s2;
- //得到小的那个子串
- min = (max==s1)?s2: s1;
-
- // sop("max="+max+"...min="+min);
-
- //外层循环遍历整个小的那个子串
- for(int x=0; x<min.length(); x++)
- { //内层循环遍历?
- for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++)
- {
- String temp = min.substring(y,z);
-
- sop(temp);
- if(max.contains(temp)
- return temp;
- }
- }
- return "";
- }
复制代码 我不明白的是内层循环中z指针的判断条件是 z!=min.length()+1; 我将其改为 z<min.length()+1;也可以啊。
还有就是for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++) 里面的循环初始条件不是很明白,求解?
|
|