Write a function to find the longest common prefix string amongst an array of strings.
My solution:
public class Solution {
public String longestCommonPrefix(String[] strs) {
StringBuilder out=new StringBuilder();
if(strs.length==0)
return out.toString();
for(int i=0;i<strs[0].length();++i){
char temp=strs[0].charAt(i);
for(int j=1;j<strs.length;++j){
if(i>=strs[j].length()||temp!=strs[j].charAt(i))
return out.toString();
else
continue;
}
out.append(temp);
}
return out.toString();
}
}
public class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==0)
return "";
String pre=strs[0];
for(int i=1;i<strs.length;++i){
while(strs[i].indexOf(pre)!=0)
pre=pre.substring(0,pre.length()-1);
//if(pre.length()==0)
// return pre;
}
return pre;
}
}
public class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==0)
return "";
StringBuilder out=new StringBuilder();
Arrays.sort(strs);
char[] a=strs[0].toCharArray();
char[] b=strs[strs.length-1].toCharArray();
for(int i=0;i<a.length;++i){
if(i<b.length&&a[i]==b[i])
out.append(a[i]);
else
return out.toString();
}
return out.toString();
}
}