14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:
输入: ["flower","flow","flight"]
输出: "fl"

示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

题解

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
   let a=[],
        b=0,
        c=''
    for(let i=0;i<strs.length;i++){
        if(strs[i].length>b){
            b=strs[i].length
        }
    }
    for(let i=0;i<b;i++){
        a[i]=new Array()
    }
    for(let i=0;i<strs.length;i++){
        for(let j=0;j<b;j++){
            a[j][i]=strs[i][j]
            if(strs[i][j]==undefined){
                a[j][i]=''
            }
        }
    }
    for(let i=0;i<a.length;i++){
        for(let j=0;j<a[i].length;j++){
            if(a[i][j]==a[i][j+1]){
                a[i].splice(j,1)
                j--
            }
        }
    }
    for(let i=0;i<a.length;i++){
        if(a[i].length==1){
            c+=a[i].join('')
        }else{
            break
        }
    }
    return c
};

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注