您的位置:首页 > 编程语言 > Java开发

[Java]Leetcode14 Longest Common Prefix

2015-04-17 16:02 323 查看
Write a function to find the longest common prefix string amongst an array of strings.

就是一个字符数组,找字符数组中所有字符串中的最常前缀。

解题思路:首先两个字符比较,找出最长前缀,然后拿前缀与其他字符比较。这里面要注意的是,比较的次数最多是最短字符的长度。
 public String longestCommonPrefix(List<String> strs) {
        int strsLen=strs.size();
        if(strsLen==0)return "";
        int i=0;
        String str=null;
        String longestCommonPrefix="";
        while(i<strsLen)
        {
           str=strs.get(i);
           if(i==0)longestCommonPrefix=str;
           else
           longestCommonPrefix=LCP2String(str,longestCommonPrefix);
           i++;
        }
        return longestCommonPrefix;
    }
    public String LCP2String(String str1,String str2)//比较两个字符的最长前缀
    {
        int len1=str1.length();
        int len2=str2.length();
        int len=len1>len2?len2:len1;
        int i=0;
        char ch1=' ';
        char ch2=' ';
        while(i<len)
        {
           ch1=str1.charAt(i);
           ch2=str2.charAt(i);
           if(ch1==ch2)i++;
           else break;
        }
        if(i==0)return "";
        else return str1.substring(0,i);
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: