[打卡9:leetcode14. 最长公共前缀] |刷题打卡

114 阅读1分钟

掘金团队号上线,助你 Offer 临门! 点击 查看详情

前言

第一次参加掘金打卡活动,别的不说 主要是奔着奖励来的。4.12开始为了达到14题小目标 冲冲冲!!!这是第9题。

image.png

题目描述

题目链接:最长公共前缀

题目描述我用截图leetcode的为主,所以题目如下图

image.png

思路分析

因为求前缀,所以要满足这个前缀要在数组中所有项都能indexOf、includes到,是所有项的共同子集

1.特殊情况:首先判断判断空数组的情况 直接返回'',如果有''子项也是返回''

2.把第一项拿出来切割遍历,去判断切割出来的字符串是否满足包含全部项

image.png 傻了 是所有项都是重头开始计算 而我这样的写法只能满足第一项是从头开始 把includes改成indexOf===0能搜到且是第一位 貌似可以试试 果然如下图

image.png 发现这样就满足条件了

AC 代码

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
   if(!strs.length||strs.includes('')){
       return ''
   }
   let str1 = strs[0]
   let len = str1.length
   let result=''
   for(let i=0;i<len;i++){
       let str2 = str1.slice(0,i+1)
       let flag=strs.every(item=>{
           return item.indexOf(str2)===0
       })
       if(flag){
           result=str2
       }
   }
   return result
};


总结

坚持就是胜利。第9题算法完成,坚持就是胜利!!!

       ↓↓↓

算法系列链接

       ↑↑↑

这里可以点!这里可以点!这里可以点!