根据常识,任何以字典序排列的相邻字符串必然有公共子序列,其中,第一个元素与最后一个元素的公共子序列必然是整个序列的最长公共子序列。
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;
}
};