美文网首页
LeetCode-第十四题:Longest Common Pre

LeetCode-第十四题:Longest Common Pre

作者: baixiaoshuai | 来源:发表于2017-05-20 11:02 被阅读0次

    题目

    题目

    题目分析

    题目的意思是在一个字符串数组中,找出这些字符串拥有的最长的公共前缀子串,如“ab”,“abc”,“abd”最长的公共前缀子串是“ab”.
    思路:采用动态的方法,首先找出任意两个字符串的最长前缀公共子串,然后再用该最长字符串去和剩余的字符串进行找最长公共子串的操作。如“ab”,“abc”,“abd”,“aef”:首先找到“ab”和“abc”的最长公共前缀字符串是“ab”,再用“ab”和“abd”进行比较,找到最长公共字符串“ab”,再用“ab”和“aef”做比较,找到最长前缀公共字符串“a”.具体流程见代码。

    代码

    public class Solution
    {
        public String longestCommonPrefix(String[] strs) 
        {
            if(strs==null || strs.length==0)
                return "";
            String result=strs[0];
            for (String x:strs) 
            {
                int lenMin=result.length()>x.length()?x.length():result.length();
                while (lenMin>=0)
                {
                    result=result.substring(0,lenMin);
                    if(x.startsWith(result))
                    {
                        break;
                    }
                    lenMin--;
                }
            }
            return result;
        }
    }
    

    相关文章

      网友评论

          本文标题:LeetCode-第十四题:Longest Common Pre

          本文链接:https://www.haomeiwen.com/subject/wkzuxxtx.html