Algorithm——最长公共前缀
一、问题
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。
二、解决
/** * @param {string[]} strs * @return {string} */ var longestCommonPrefix = function(strs) { var strArr = []; var result = ''; for (let i = 0; i < strs.length; i++) { strArr.push(strs[i].length); } //获取最小长度 var strMaxLengthArr = strArr.sort((a,b)=>a-b); //慎重提示:for循环里用let,不用var!!! for (let m = 0; m < strMaxLengthArr[0]; m++) { for (let i = 0; i < strs.length; i++) { if (strs[i+1] != undefined) { if(strs[i].charAt(m) == strs[i+1].charAt(m)) { //已经走到了strs参数的最后一个 if (i == strs.length-1-1) {result += strs[i].charAt(m);} } else { return result; } } else { if (strs.length == 1) { result = strs[i]; } } } } return result; };