Description
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string “”.
Example
Example 1:
Input: [“flower”,“flow”,“flight”]
Output: “fl”
Example 2:
Input: [“dog”,“racecar”,“car”]
Output: “”
Explanation: There is no common prefix among the input strings.
Analyse
继续水题一道,求最长公共前缀,直接模拟,复杂度 O ( n ) O(n) O(n)
Code
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string ans = "";
if (strs.size() == 0) return ans;
if (strs.size() == 1) return strs[0];
int len=INT_MAX;
for (int i = 0; i < strs.size(); i++) {
if (strs[i].length() < len) {
len = strs[i].length();
}
}
for (int i = 0; i < len; i++) {
char temp_c = strs[0][i];
bool flag = true;
for (int j = 1; j < strs.size(); j++) {
if (strs[j][i] != temp_c) {
flag = false;
break;
}
}
if (flag) ans = ans + temp_c;
else break;
}
return ans;
}
};