题目:
Write a function to find the longest common prefix string amongst an array of strings.
解题思路:先找出最短长度的字符串,然后将所有字符串与最短长度的字符串做比较,遇到不同的字符就返回最短长度字符串的前一部分子串。
代码:
class Solution {
public:
string longestCommonPrefix(vector<string> &strs) {
int MinSize=INT_MAX;
int MinIndex=0;
if(strs.empty())return "";
for(int i=0;i<strs.size();i++){
if(strs[i].size()<MinSize){
MinSize=strs[i].size();
MinIndex=i;
}
}
for(int i=0;i<MinSize;i++){
for(int j=0;j<strs.size();j++){
if(strs[j][i]!=strs[MinIndex][i])return strs[MinIndex].substr(0,i);
}
}
return strs[MinIndex];
}
};