一. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
Difficulty:Easy
TIME:16MIN
解法
在很多的字符串中寻找这些字符串的最长公共前缀。当然没什么难度,我这里使用了一个prefix作为当前找到的最长公共前缀,然后依次匹配。
string longestCommonPrefix(vector<string>& strs) {
if(strs.empty())
return "";
string prefix = strs[0];
for(int i = 1; i < strs.size(); i++) {
for(int j = 0; j < prefix.size(); j++) {
if(j >= strs[i].size() || prefix[j] != strs[i][j]) {
if(j == 0)
return "";
prefix = prefix.substr(0,j);
break;
}
}
}
return prefix;
}
代码的时间复杂度为 O(n) 。