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:
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
consists of only lower-case English letters.
Idea:
- Use first string for comparison
- loop through each string:
- store the common letter if match
- or return the answer if no match
Solution:
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
if (strs === null || strs.length === 0) return "";
let ans = "";
for (let i = 0; i < strs[0].length; i++) {
for (let s of strs) {
if (s.length <= i || s[i] !== strs[0][i]) return ans;
}
ans += strs[0][i];
}
return ans;
};