题目:
Write a function to find the longest common prefix string amongst an array of strings.
思路:
1.在字符串数组中查找最长的前缀。String中有方法,startsWith(str)可以使用。
2.外层循环遍历字符串数组,内层循环遍历每个字符串,把前缀保存到StringBuffer中。
3,这道题比较容易出错的地方就是字符串数组为空的情况,需要单独判断。
代码:
public class Solution {
public String longestCommonPrefix(String[] strs) {
StringBuffer sb=new StringBuffer();
boolean flag=true;
if(strs.length==0) return "";
else{
String s1=strs[0].toString();
if(s1=="") return "";
else{
for(int p=0;p<s1.length();p++){
sb.append(s1.charAt(p));
String sbs=sb.toString();
for(int i=1;i<strs.length;i++){
String s=strs[i].toString();
if(s.startsWith(sbs)) continue;
else{
flag=false;
break;
}
}
if(flag) continue;
else if(sb.length()==0) return "";
else{
sb.deleteCharAt(sb.length()-1);
break;
}
}
return sb.toString();
}
}
}
}