leetcode筆記(14,771題)
阿新 • • 發佈:2019-01-24
程式:string longestCommonPrefix(vector<string>& strs) {
string result;
if(strs.size()>0){
int minSize=strs[0].size();
for(auto i=strs.begin();i!=strs.end();++i) //找出最短的單詞長度
{
if((*i).size()<minSize)
minSize=(*i).size();
}
vector<string> str1(100,""); //否則不能進行下標運算
//從strs中依次取出單詞的第j個字母放入容器中,容器容量為最短單詞容量j
for(auto j=0;j!=minSize;++j)
for(auto i=strs.begin();i!=strs.end();++i)
{
str1[j].push_back((*i)[j]);
}
for(auto k=str1.begin();k!=str1.end();++k) //看容量為minSize的容器中從下標0到minSize-1,每個string元素中的字元是否相等,如不相等,則返回
{
int flag=1;
for(char &c:*k)
{
if(c!=(*k)[0])
flag=0;
}
if(flag==1)
{
result.push_back((*k)[0]);
}
if(flag==0)
{
return result;
}
}
return result;
}
else
return "";
string result;
if(strs.size()>0){
int minSize=strs[0].size();
for(auto i=strs.begin();i!=strs.end();++i) //找出最短的單詞長度
{
if((*i).size()<minSize)
minSize=(*i).size();
}
vector<string> str1(100,""); //否則不能進行下標運算
//從strs中依次取出單詞的第j個字母放入容器中,容器容量為最短單詞容量j
for(auto j=0;j!=minSize;++j)
for(auto i=strs.begin();i!=strs.end();++i)
{
str1[j].push_back((*i)[j]);
}
for(auto k=str1.begin();k!=str1.end();++k) //看容量為minSize的容器中從下標0到minSize-1,每個string元素中的字元是否相等,如不相等,則返回
{
int flag=1;
for(char &c:*k)
{
if(c!=(*k)[0])
flag=0;
}
if(flag==1)
{
result.push_back((*k)[0]);
}
if(flag==0)
{
return result;
}
}
return result;
}
else
return "";