14. Longest Common Prefix

来源:互联网 发布:sql int转date 编辑:程序博客网 时间:2024/06/10 15:54

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();                             }}


Discuss:

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();                }}


 

0 0