1.0版本
演示动画在这里
暴力比较,时间长度O(n^2)
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs==null){
return "";
}
if(strs.length==1){
return strs[0];
}//极端情况处理
StringBuilder stringBuilder=new StringBuilder();//字符串拼接对象,非线程安全
for(int i=0;i<strs.length;i++){
char temp=strs[0].charAt(i);//随便抓一个字符来比公共前缀,就抓第一个,依次从抓取第一位,第二位..往下比较
for(int j=1;j<strs.length;j++){//比较str[i]之后的字符对象
//如果当前字符不匹配或者当前这个字符串比公共前缀短就都不行
if(temp!=strs[j].charAt(i)||i>=strs[j].length()){
//这些情况都不行,直接返回就好了
return stringBuilder.toString();
}
}
//以上都通过了就进行拼接
stringBuilder.append(temp);
}
return stringBuilder.toString();
}
}
官方题解不想看了,去他娘的~