题目大意:求出所给字符串数组的最长公共前缀
分析:字符串的考察。注意几点:
1.特殊情况,数组为空,或只有一个字符串,就可以直接返回答案了
2.以第一个字符串为基准,用指向它的指针去比对其余字符串,当指针到第一个字符串结尾时返回答案
3.比对时要判断两个条件:第一个字符串的指针长度是否超出当前查看的字符串长度;字符是否相等
代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string common = "";
if(strs.size() == 0) return common;
if(strs.size() == 1) return strs[0];
for(int i = 0;i < strs[0].size();i++){
for(int j = 1;j < strs.size();j++){
if(strs[j].size() - 1 < i || strs[j][i] != strs[0][i])
return common;
}
common += strs[0][i];
}
return common;
}
};