Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
一、 题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
**示例 1:**
输入: strs = ["flower","flow","flight"]
输出: "fl"
**示例 2:**
输入: strs = ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
二、思路分析
-
思路
-
拿第一值的每一个参数对比后边的值,如果不相等的时候return,
-
这时候的i值是前缀部分的值
-
代码实现逻辑
-
判断如果值为0的时候返回""
-
使用str的第一个值的每个值对比后边值得每个字符
-
如果不等就返回,且后边值得每一个值得长度要小于第一个值得长度
三、代码
let longestCommonPrefix = function(strs) {
/**
* 思路
*
* 拿第一值的每一个参数对比后边的值,如果不相等的时候return,
* 这时候的i值是前缀部分的值
*
* 代码实现逻辑
* 判断如果值为0的时候返回""
* 使用str的第一个值的每个值对比后边值得每个字符
* 如果不等就返回,且后边值得每一个值得长度要小于第一个值得长度
*
* */
if(strs.length == 0) return ''
for(let i = 0; i < strs[0].length ; i++) {
let firstChar = strs[0][i]
for(let j = 1; j < strs.length; j++) {
if(firstChar != strs[j][i] || strs[j].length == i) {
console.log(i)
return strs[0].substr(0, i);
}
}
}
return strs[0]
}