Write a function to find the longest common prefix string amongst an array of strings.
思路:
遍历字符串数组,维护一个字符串prefix,与数组中的每个字符串相比较,来保存最长前缀。
代码如下:
class Solution {
public:
string longestCommonPrefix(vector<string> &strs) {
if(strs.size() == 0)
{
return "";
}
string prefix = strs[0];
for(int i = 1; i < strs.size(); ++i)
{
if(prefix.size() == 0 || strs[i].size() == 0)
{
return "";
}
int length = min(prefix.size(), strs[i].size());
int j = 0;
while(j <length)
{
if(prefix[j] != strs[i][j])
{
break;
}
++j;
}
prefix = prefix.substr(0, j);
}
return prefix;
}
};