注意必须先求字符串的长度最小值,防止循环时候越界。遍历数组任何时候都要考虑越界。
import java.util.*;
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs==null||strs.length==0){
return "";
}
if(strs.length==1){
return strs[0];
}
int min=Integer.MAX_VALUE;
for(int i=0;i<strs.length;i++){
min=Math.min(min,strs[i].length());
}
String s=strs[0];
StringBuilder sb=new StringBuilder();
for(int i=0;i<min;i++){
for(int j=1;j<strs.length;j++){
if(s.charAt(i)!=strs[j].charAt(i)){
return sb.toString();
}
}
sb.append(s.charAt(i));
}
return sb.toString();
}
}