JSFiddle - React, Tailwind, and code Playground
longest common prefix
by Yurii Predborskyi
JavaScript
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
if (strs.length === 0) {
return '';
} else if (strs.length === 1) {
return strs[0];
}
let cp = '';
let shortestLength = strs.reduce((acc, item) => {
acc = Math.min(acc, item.length);
return acc;
}, strs[0].length);
if (shortestLength === 0) return '';
cp = strs[0].substring(0, shortestLength);
for (let i = 1; i < strs.length; i++) {
for (let j = shortestLength-1; j >= 0; j--) {
if (!cp) return '';
if (strs[i][j] !== cp[j]) {
cp = cp.substring(0, --shortestLength);
i = 0;
}
}
}
return cp;
return cp;
};
let strings = ['aca', 'cba'];
console.log(longestCommonPrefix(strings));