leetcode第14题 “Longest Common Prefix”描述是这样的:
Write a function to find the longest common prefix string amongst an array of strings.
也就是从一个字符串数组中寻找出公共的最长前缀字符串,首先考虑的是这个最长前缀字符串肯定要小于最短字符串长度,所以先找到最短字符串的长度minlen,再按序遍历字符串数组,出现后不匹配项,直接return输出。如果整个循环过程完成了,代表长度为minlen的前缀字符串即为所求,输出长度为minlen的字符串。
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
if(strs.length<2){
return strs[0]?strs[0]:"";
}
var prefix="",
minlen=strs[0].length;
for(var i=1; i<strs.length;i++){
if(strs[i].length<minlen){
minlen=strs[i].length;
}
}
if(minlen===0){
return "";
}
for(var j=0; j<minlen;j++){
for(var k=0;k<strs.length-1;k++){
if(strs[k][j]!==strs[k+1][j]){
if(j>0){
prefix+=strs[0].substr(0,j);
}
return prefix;
}
}
}
return strs[0].substr(0,minlen);
};