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

其实这道题我的思路是首先找到这个数组的最小字符串,然后开启双重循环,其中外循环的次数就是这个最小字符串的长度,
内循环的次数就是整个数组长度,然后比较就比较字符数组的字符串包不包含这个最小的字符串,如果有一个不包含那就更换最小的字符串,
也就是从默认最小的字符串那里截取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(0, minString.length() - 1);
}
}
}
return minString;
}
}