黑马程序员技术交流社区

标题: String  中的一道练习题 [打印本页]

作者: 范龙彬    时间: 2011-11-5 20:18
标题: String  中的一道练习题

求  最大子串的那道练习中.
        for (int x =0;x<min.length() ;x++ )
        {
                for(int y=0,z=min.length()-x; z!=min.length()+1;y++,z++)
                {
                        String temp s2.substring(y,z);
                        if(s1.contains(temp))
                                return temp;
                }
        }
毕老师里面的FOR循环z=min.length()-x; z!=min.length()+1 为什么求完长度还要加1, 而不是下面的这种写法.   

        for (int x =0;x<min.length() ;x++ )
        {
                for(int y=0,z=min.length()-1-x; z!=min.length(); y++,z++)
                {
                        String temp s2.substring(y,z);
                        if(s1.contains(temp))
                                return temp;
                }
        }

两者答案是一样的 .  求解

15.JPG (49.9 KB, 下载次数: 57)

15.JPG

13.JPG (33.42 KB, 下载次数: 46)

13.JPG

作者: 范龙彬    时间: 2011-11-5 20:19
怎么把 图片搞上去了!!{:soso_e111:}

作者: 高美云    时间: 2011-11-5 21:58
因为那个substring特性中的两个参数substring(y,z),所求得长度包含头,不包含尾,即z角标所表示的字符不算在子串中,所以要加一,保证z所代表的字符也在子串中。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2