Qusetion:
Write a function to find the longest common prefix string amongst an array of strings.
思路:
找若干数组的最长公共字符串,先找出最短的数组作为初始最长数组mylongest,从头开始依次比较,不一致时更新mylongest;
注意substr(0,j)的用法,string的成员函数,返回0到j范围的string类型变量,应该是返回0为起点,长度为j的string。
Code:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.empty())
return "";
int min_length=INT_MAX,
min_num=INT_MAX;
for(int i = 0;i < strs.size(); i++){
if(strs[i].size()<min_length){
min_length= strs[i].size();
min_num=i;
}
}
string mylongest=strs[min_num];
for(int i = 0;i < strs.size(); i++){
for(int j = 0 ;j < mylongest.size();j++){
if(strs[i][j]!=mylongest[j]){
mylongest=mylongest.substr(0,j);
break;
}
}
}
return mylongest;
}
};