每天一道算法题(三十一)

最长公共前缀

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

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

示例 1:

输入: [“flower”,“flow”,“flight”]
输出: “fl”

示例 2:

输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

思路

  1. 判断是否为空
  2. 取出第一个值当作初始值作为参照,循环遍历其他值
  3. 循环遍历其他值的字符,获取与参照相同的字符
/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
  if(strs.length === 0){
    return ''
  }
  var str = strs[0]
  var result = ''
  for(let i =1;i<strs.length;i++){
    for(let y = 0;y<strs[i].length;y++){
      if(str[y] === strs[i][y]){
        result+=str[y]
      }else{
        break;
      }
    }
    if(result === ''){
      return '';
    }
    str=result;
    result = ''
  }
  return str;
};

执行用时:96 ms
内存消耗:40.9 MB

©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页