根据常识,任何以字典序排列的相邻字符串必然有公共子序列,其中,第一个元素与最后一个元素的公共子序列必然是整个序列的最长公共子序列。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
sort(strs.begin(),strs.end());
if(strs.size()==0)
{
return "";
}
if(strs.size()==1)
{
return strs[0];
}
string res="";
string v1=strs[0];
string v2=strs[strs.size()-1];
for(int i=0;i<min(v1.size(),v2.size());i++)
{
if(v1[i]==v2[i])
{
res+=v1[i];
}
else
{
break;
}
}
return res;
}
};
本文介绍了一种高效算法,用于从一组字符串中找出最长的共同前缀。通过将字符串按字典序排序并比较首尾元素,快速定位公共部分。

1159

被折叠的 条评论
为什么被折叠?



