一、题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 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 春招闯关活动」, 点击查看活动详情