您的位置:首页 > 其它

最长公共前缀

2015-06-16 20:31 330 查看
  给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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: