题目:
Write a function to find the longest common prefix string amongst an array of strings.
题意:
写一个程序找到有你个字符串数组中最长的公共前缀字符串。
因为已经规定是前缀,所以只需要从前开始匹配,看到第几位开始字符串之间出现的差异,那么长度就是这个位数减一。
代码如下:
class Solution {
public:
bool isSameChar(int cur, vector<string> strs) {
if (strs[0].length() <= cur)
return false;
for (int i = 0; i < strs.size(); i ++) {
if (strs[i].length() <= cur)
return false;
if (strs[i][cur] != strs[0][cur])
return false;
}
return true;
}
string longestCommonPrefix(vector<string>& strs) {
if (!strs.size()) return "";
int len = 0;
while (isSameChar(len, strs)) {
len ++;
}
return strs[0].substr(0, len);
}
};