[leetcode javascript解题]Longest Common Prefix

来源:互联网 发布:多核优化软件 编辑:程序博客网 时间:2024/05/16 07:45

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