对c++太不熟悉了,判断是否输入valid错了好几次,没想到优于O(mn)的方法
string longestCommonPrefix(vector<string> &strs) {
if( strs.size() == 0)
return "";
int n = strs.size();
int max_len = 0, ans = 0;
for(int i = 0; i < n; i++){
max_len = max(max_len, (int)strs[i].length());
}
for(int i = 0; i < max_len; i++){
char c = strs[0][i];
for(int j = 1; j < n; j++){
if(strs[j][i] != c)
return strs[0].substr(0,i);
}
}
return strs[0].substr(0,max_len);
}