Longest Common Prefix
Problem statement
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 <= 2000 <= strs[i].length <= 200strs[i]consists of only lower-case English letters.
My solution
/**
* @param {string[]} strs
* @return {string}
*/
function longestCommonPrefix(strs) {
let common = "";
if (strs.length === 0) {
return common;
}
if (strs.length === 1) {
return strs[0];
}
let index = 0;
let notEqual = false;
while (!notEqual) {
let char;
for (let i = 0; i < strs.length; i++) {
const charAtIndex = strs[i].charAt(index);
if (!char) {
char = charAtIndex;
}
if (char !== charAtIndex || charAtIndex === "") {
notEqual = true;
char = "";
break;
}
}
++index;
common += char;
}
return common;
}