題目解釋:找出所有字符串共有的最長前綴
這道題的思路:
每次將較短的字符串定爲標準
string longestCommonPrefix(vector<string>& strs)
{
int i,len,nums=strs.size();
string stander=strs[0];
for(i=1;i<nums;i++)
{
len=stander.length() < strs[i].size() ? stander.length():strs[i].size();//取較短的字符串的長度作爲標準
int j=0;
while(j<=len)//找出第一個不相同的位置
{
if(stander[j]!=strs[i][j])
break;
j++;
}
stander=stander.substr(0,j); //每比較一次返回新的公共前綴
}
return stander;
}
一開始不會用c++裏的vector容器,百度了之後,發現這個容器很好用。http://blog.csdn.net/longshengguoji/article/details/8507394這是CSDN裏有關vector的鏈接。