LeetCode#14 Longest Common Prefix

来源:互联网 发布:儿童编程课程入门 编辑:程序博客网 时间:2024/09/21 08:17

Write a function to find the longest common prefix string amongst an array of strings.

题意:写一个函数(或方法)来寻找一个字符串数组中的最长公共前缀。
例如:”abcdefg”
       ”abcdefghijk”
       ”abcdfghijk”
       ”abcef”

上面的字符串数组的最长公共前缀就是”abc”。
思路:我的方法就是简单的模拟,把string数组遍历一遍找到最长公共前缀。

class Solution {public:     void Match(string &str,string s)    {        string a;        int i;        for(i=0;i<str.size();i++)        {            if(str[i]==s[i])a+=str[i];            else break;        }        str=a;    }    string longestCommonPrefix(vector<string>& strs) {        string ans;        if(strs.size()==0)return ans;        if(strs.size()==1)return strs[0];        int i=0;        while(i<strs[0].size()&&i<strs[1].size())        {            if(strs[0][i]==strs[1][i])ans+=strs[0][i];            else break;            i++;        }        if(ans.size()==0)return ans;        for(i=2;i<strs.size();i++)        {            Match(ans,strs[i]);            if(ans.size()==0)return ans;        }        return ans;    }};