最长公共前缀|刷题打卡

84 阅读1分钟

一、题目描述:

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

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

示例 1:

输入:strs = ["flower","flow","flight"]

输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"]

输出:""

解释:输入不存在公共前缀。

二、思路分析

这个的话,我先想到的是第一个和第二个做比较取相同的内容,将这个相同的内容作为之后几项的判断条件,如果第二个和第三个匹配不上直接返回'',写着写着发现,如果第一个和第二个公共的比第三个长,那就没法玩了。。,第二版是一即第一个字符串的第一个值为基础,去数字中进行查找,如果都能查到,那么就去存起来然后找第二个,然后循环

三、AC 代码:

1.遍历

var longestCommonPrefix = function(strs) {
  if(!str) return ''
  let str = strs[0]
  let res = ''
  for(let i = 0; i < str.length; i++){
    let flag = strs.every(item => item[i] == str[i])
    if (flag) {
      res += str[i]
    }else {
      return res
    }
  }
  return res
};


四、总结:

要审题,和改变一下思路,问题没有想象中那么复杂

本文正在参与「掘金 2021 春招闯关活动」, 点击查看活动详情