14. Longest Common Prefix
Problem
Tags: String
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 1:
Input: strs = ["flower","flow","flight"]
Output: "fl"
Example 2:
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
Constraints:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
consists of only lowercase English letters.
Code
C
// 14. Longest Common Prefix (2/10/54140)
// Runtime: 0 ms (94.43%) Memory: 5.98 MB (36.53%)
char* longestCommonPrefix (char* strs[], int size) {
char* common = calloc(200, sizeof(char));
for (int i = 0; i < 200; i++) {
char c = strs[0][i];
if (c == '\0') {
break;
}
bool escape = false;
for (int j = 1; j < size; j++) {
if (strs[j][i] != c) {
escape = true;
break;
}
}
if (escape) {
break;
}
common[i] = c;
}
return common;
}