借鉴了题解并进行了一点小优化
public String longestCommonPrefix (String[] strs) {
// write code here
if(strs==null || strs.length==0) return "";
String cur=strs[0]; //将第一个字符串当作当前最长的公共前缀
//循环遍历
for(String str:strs){
cur=Prefix(cur,str);
if(cur=="") return ""; //如果遍历到公共前缀为空字符串,就直接返回
}
return cur;
}
//进行字符串之间的判断,相同进1,不相同截止至当前下标的字符串
public String Prefix(String str1,String str2){
int length=Math.min(str1.length(),str2.length());
int index=0;
while(index<length &&str1.charAt(index)==str2.charAt(index)){
index++;
}
return str1.substring(0,index);
}
京公网安备 11010502036488号