水之最长公共前缀

46 阅读1分钟

14. 最长公共前缀

14. 最长公共前缀
已解答
简单
相关标签
相关企业
编写一个函数来查找字符串数组中的最长公共前缀。

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

 

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:

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

问题

  1. 这个问题主要是,再遍历第一项的时候,怎么固定主,然后去遍历后面的。
  2. 其实最直观的思路就是纵向去遍历,固定第一个字符,然后遍历其他项,只要发现了一个不同,那就退出,等子循环遍历完毕再去更新前缀。
var longestCommonPrefix = function(strs) {
  if(strs.length === 1){
    return strs[0]
  }
  let  res = '';
  for(let i=0;i<strs[0].length;i++){
    let target = strs[0].charAt(i);
    for(let j = 1;j<strs.length;j++){
      if(target !== strs[j][i]){
        return res
      }
    }
    res += target

  }
  return res
};