跳转到内容

最长公共前缀

刀刀

3/20/2025

0 字

0 分钟

题目

描述

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

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

示例

  • 示例 1:

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

  • 示例 2:

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

链接地址

leedCode链接

答题思路

判断数组长度,如果是空,则直接返回空字符串。

拿到数组一个字符串假设是最长公共前缀,然后循环遍历数组拿到每一项的字符串,再循环遍历每一项字符串,判断对应索引的字符是否相等,如果相等则继续比较下一个字符,如果不等表明已经拿到最长字符了,截取返回即可。

解答代码

js
/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    if (!strs.length) return ''

    let ans = strs[0]

    for(let i = 1; i < strs.length; i++) {
        let j = 0;
        for(; j < Math.min(ans.length, strs[i].length); j++) {
            if (ans[j] !== strs[i][j]) break
        }
        ans = ans.slice(0, j)
    }

    return ans
};