zoukankan      html  css  js  c++  java
  • 对两个字符串进行比较,取出两个字符串中一样部分的长度

    private static int MaxLength(String str1, String str2) {
            String min = "";
            String max = "";
            //判断str1是不是null
            if (str1 == null) {
                str1 = "";
            }
            //判断str2是不是null
            if (str2 == null) {
                str2 = "";
            }
            //如果str1=“”并且str2="",返回0
            if (str1.equals("") && str2.equals("")) {
                return 0;
            }
            //找出str1和str2中长度最小的
            if (str1.length() > str2.length()) {
                min = str2;
                max = str1;
            } else {
                max = str2;
                min = str1;
            }
            //将最小的转换成char数组
            char[] charArray = min.toCharArray();
            int length = charArray.length;
            //每次循环判断子串是长串的长度
            int length1 = 0;
            // 最终长度
            int length2 = 0;
            //将转换成char数组的短串遍历
            for (int i = 0; i < length; i++) {
                // 将单个字符转成string
                String minSon = String.valueOf(charArray[i]);
                // 如果子串属于最大的字符串
                if (max.indexOf(minSon) != -1) {
                    // 子串在短串中的下标
                    int indexOf = min.indexOf(minSon);
                    for (int j = 1; j <= min.length() - indexOf; j++) {
                        String substring = min.substring(indexOf, indexOf + j);
                        // 如果长度等于-1,表示没有找到
                        if (max.indexOf(substring) == -1) {
                            length1 = min.substring(indexOf, indexOf + j - 1)
                                    .length();
                            if (length1 >= length2) {
                                length2 = length1;
                            }
                            //如果没有找到,则跳出本次循环,继续循环char数组的比较
                            break;
                        } else {
                            length1 = min.substring(indexOf, indexOf + j).length();
                            if (length1 >= length2) {
                                length2 = length1;
                            }
                        }
                    }
                }
            }
            return length2;
        }
  • 相关阅读:
    Pycharm中 import 引入同级文件失败问题
    Python实现 K_Means聚类算法
    Python 的 Matplotlib 画图库
    Numpy库应用实例——GPS定位
    Python 的 Numpy 库
    Python 各种库的安装
    Python 的 pandas 实践
    方差、协方差、协方差矩阵
    Python实现梯度下降法
    Vue 不睡觉教程3
  • 原文地址:https://www.cnblogs.com/zhang-bo/p/7493563.html
Copyright © 2011-2022 走看看