这道题算是我刷牛客的第二道简单题了,也花了好长时间,可以说我一个下午就刷了两道简单题!
没学过算法、数据结构,搞得简单题也够呛的

其实这道题我的思路是首先找到这个数组的最小字符串,然后开启双重循环,其中外循环的次数就是这个最小字符串的长度,
内循环的次数就是整个数组长度,然后比较就比较字符数组的字符串包不包含这个最小的字符串,如果有一个不包含那就更换最小的字符串,
也就是从默认最小的字符串那里截取0~minString.length()-1的子串,然后继续比较,直到最后找到最小公共子串!
思路大家其实都差不多,只是我用的方法比较多java的api,所以时间复杂度较高,不像大佬的几十毫秒的~
菜鸡一个

import java.util.*;

public class Solution {
    /**
     *
     * @param strs string字符串一维数组
     * @return string字符串
     */
    public String longestCommonPrefix (String[] strs) {
        if (strs.length == 0) {
            return "";
        }
        String minString = Arrays.stream(strs).min(String::compareTo).get();
        for (int i = 0; i < minString.length(); i++) {
            for (int j = 0; j < strs.length; j++) {
                if (!strs[j].contains(minString)) {
                    minString = minString.substring(0minString.length() - 1);
                }
            }
        }
        return minString;

    }
}