Skip to content

No.14 最长公共前缀

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

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 仅由小写英文字母组成

解题思路

实现

js
/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function (strs) {
  if (!strs.length) return "";
  strs.sort((a, b) => a.length - b.length);
  let prefix = strs[0];
  for (let i = 1; i < strs.length; i++) {
    let str = strs[i];
    for (let j = 0; j < str.length; j++) {
      if (str.charAt(j) !== prefix.charAt(j)) {
        prefix = prefix.substring(0, j);
      }
    }
  }
  return prefix;
};