Java(String)获取两个字符串中最大相同子串

 private void findMaxSub(String str1, String str2) {
        int ruler = str2.length();
        String sub = null;
        l1 : while (ruler > 0) { // 只要尺子不为0就循环
            // 用这个长度取子串
            int begin = 0; // 每次从短串中取子串, 总是从0开始取
            while (begin + ruler <= str2.length()) { // 以ruler为长度, 从短串中取子串.
                sub = str2.substring(begin, begin + ruler); // 保证子串的长度永远是ruler
                // 测试子串是否在长串中存在
                if (str1.indexOf(sub) != -1) {
                    // 如果能, 总任务达成
                    break l1;
                }
                begin++; // 如果没有找到, 则向右移动一位再取子串
            }
            // 长度变短
            ruler--;
        }
        if (ruler > 0) {
            System.out.println(sub);
        } else {
            System.out.println("没有最大相同子串");
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值