LeetCode 14 最长公共前缀 Java

2020-05-19  本文已影响0人  trayliu_小马过河

 public String longestCommonPrefix(String[] strs) {
        //判断极限情况
        if (strs == null || strs.length == 0) {
            return "";
        }
        if (strs.length == 1) {
            return strs[0];
        }

        String result = strs[0];  //默认用第一个字符串比较

        for (int i = 1; i < strs.length; i++) {//所以从第二个字符串开始比

            char[] chars = strs[i].toCharArray();
            int start = -1; //索引
            int length = 0;

            for (int j = 0; j < chars.length; j++) {

                if (result.length() > j) {
 
                    if (result.charAt(j) == chars[j]) {
                        if (start == -1) {//判断开始索引
                            start = j;
                        }
                        length++; //判断length
                    }else{
                        break;
                    }
                }
            }
          
            if (start != -1) {//判断是否有公共,处理截取
                result = result.substring(start, start + length);
            } else {
                result = "";
            }
        }
        return result;
    }
上一篇下一篇

猜你喜欢

热点阅读