思想:
求多个字符串的公共前缀可拆解为求:第一个字符串与第二个字符串的公共前缀,再将该公共前缀与第三个字符串求公共前缀,利用一个for循环一次遍历每一个字符串
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(!strs.size())
{
return " ";
}
string pub=strs[0];//定义公共前缀
for(int i=1;i<strs.size();i++)
{
pub=compare(pub,strs[i]);
if(!pub.size())
{
break;
}
}
return pub;
}
//实现两个字符串取公共前缀
string compare(string &pub,string &str)
{
int index=0;
int t=min(pub.size(),str.size());
while(index<t && pub[index]==str[index])
{
index++;
}
return pub.substr(0,index);
}
};