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));