Longest Common Prefix (Easy)

Description

Write a function to find the longest common prefix string amongst an array of strings.

Analysis

感觉自己的方法不是很好。应该有更快的方法。。求n个字符串的公共前缀

My Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//C++
class Solution {
public:
string longestCommonPrefix(vector<string> &str) {
int len = str.size();
if(len==0) return "";
int ans = str[0].length();
string mod = str[0];
for(int i = 1;i<len;i++){
int flag = 1;
for(int j =0;j<(int)str[i].length()&&j<ans;j++)
{
if(mod[j]!=str[i][j]){
ans = min(ans,j);
flag = 0;
break;
}
}
if(flag)
ans = min(ans,(int)str[i].length());
}
return str[0].substr(0,ans);
}
};