Write a function to find the longest common prefix string amongst an array of strings.
这道题让我印象深刻啊,库函数用好就是好。这道题意思是求一个字符串数组,我们求出数组中所有元素的最长公共前缀。所以我们初始以strs[0]为最长公共前缀,然后在后面其他字符串中find,如果匹配,返回首位置必须为0,否则我们需要缩小最长公共前缀的长度,直到适配为止。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size() == 0) return "";
string pre = strs[0];
int i = 1;
while(i < strs.size()) {
while(strs[i].find(pre) != 0)
pre = pre.substr(0, pre.length()-1);
++i;
}
return pre;
}
};