LeetCode - 寻找最长公共前缀

LeetCode - 寻找最长公共前缀

???什么鬼,0.72… 暴力**这么惨吗

Solution

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    if(strs.length === 0) return "";
    if(strs.length === 1) return strs[0];
    let map = {};
    strs.sort((a,b) => {
        return a.length -b.length;
    });
    let flag = false;
    let col = 0;
    for(; col < strs[0].length; col++){
        if(flag) break;
        for( let row = 0; row < strs.length; ){
            let ch = strs[row][col];
            if(map[col.toString()]){
                if(ch === map[col.toString()]){
                    row ++;
                }else{
                    col --;
                    flag = true;
                    break;
                }
            }else{
                map[col.toString()] = ch;
            }
        }
    }
   return strs[0].slice(0,col)
};