题目:
Write a function to find the longest common prefix string amongst an array of strings.
就是要求一些字符串的最长公共前缀。
code:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
//先找出长度最短的字符串
//然后和每一个比较找出最长公共前缀
if (strs.empty()) return "";
string minStr=strs[0];
int index=0;
int i=0;
for (; i<strs.size(); i++) {
if (strs[i].size()<minStr.size()) {
minStr=strs[i];
index=i;
}
}
for (int j=0; j<strs.size(); j++) {
if (i==j) continue;
int k=0;
for(; k<minStr.size(); k++) {
if (strs[j][k]!=minStr[k]) {
index=k;
break;
}
}
minStr=minStr.substr(0,k);
}
return minStr;
}
};
感觉方法不犀利,等下看看别人的解法。