给k个字符串,求出他们的最长公共前缀(LCP)
样例
在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"
在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"
class Solution {
public:
/**
* @param strs: A list of strings
* @return: The longest common prefix
*/
string longestCommonPrefix(vector<string> &strs) {
if(strs.empty())
{
return "";
}
int minLen=0;
for(int i=0;i<strs.size();i++)
{
if(minLen<strs[i].size())
{
minLen=strs[i].size();
}
}
string result;
int index=0;
bool same=true;
while(index<minLen&&same)
{
for(int i=1;i<strs.size();i++)
{
if(strs[i][index]!=strs[i-1][index])
{
same=false;
break;
}
}
if(same)
{
result.push_back(strs[0][index]);
index++;
}
}
return result;
}
};