Skip to content
On this page

14. 最长公共前缀

原题链接:LeetCode 14. 最长公共前缀

题目描述

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

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

示例 1:

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

示例 2:

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

提示:

- `1 <= strs.length <= 200`

- `0 <= strs[i].length <= 200`

- `strs[i]` 如果非空,则仅由小写英文字母组成

难度: Easy


题解代码

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

    let commonPrefix = ''
    let start = strs[0]
    let arr = strs.slice(1)

    if (!arr.length) return start

    for(let i = 1, len = start.length; i < len + 1; i++) {
        if (arr.some(item => !item.startsWith(start.substring(0,i)) || item.length < i)) {
            return commonPrefix
        } else {
            commonPrefix = start.substring(0,i)
        }
       
    }
    return commonPrefix
};

技术文档集合