题目大意:
给一个字符串型的容器,要找出这些字符串的最大前缀公共子串.
木有什么算法,直接暴力破解了,以第一个为样本直接一个个对比,对比之前为了防止越界先将所有string的最小长度计算出来,之后在循环.
#include "iostream"
#include "string"
#include "vector"
using namespace std;
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int len = strs.size();
int i,j;
int min = 999999;
bool flag = true;
int result = 0;
if(strs.size()==0)
return "";
for(int i=0;i<len;i++)
{
int strLen = strs[i].capacity();
if(min>strLen)
min = strLen;
}
//cout<<min<<endl;
for(int j=0;j<min;j++)
{
for(int i=1;i<len;i++)
{
if(strs[0][j] != strs[i][j])
{
flag = false;
break;
}
}
if(flag == true)
result++;
else
return strs[0].substr(0,result);
flag = true;
}
return strs[0].substr(0,result);
}
};
int main()
{
Solution test;
vector<string> str;
string result;
str.push_back("aa");
str.push_back("a");
result = test.longestCommonPrefix(str);
cout<<result<<endl;
return 0;
}