分析:以第一个字符串为基准,取其每个字符与后续字符串相应位置的字符比较,只要出现不同,公共前缀到此为止
C++
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.size() == 0) return "";
if (strs.size() == 1) return strs[0];
int index = 0;
int finish = 0;
while (!finish)
{
char ch = strs[0][index];
for (int i = 1; !finish && i < strs.size(); i++)
{
if (index >= strs[i].length() || strs[i][index] != ch)
{
finish = 1;
}
}
if (!finish)
index++;
}
return strs[0].substr(0, index);
}
};