LeetCode热题(JS版)- 14. 最长公共前缀

66 阅读1分钟

题目

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

如果没有公共前缀,则返回空字符串“”。

 

示例 1:

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

示例 2:

输入: strs = ["dog","racecar","car"]
输出: ""
说明: 输入字符串之间没有公共前缀。

思路

  • 多个字符串同步向前
function longestCommonPrefix(strs: string[]): string {
  const min = Math.min(...strs.map((d) => d.length));

  if (!strs.length) return '';

  let ret = '';
  for (let i = 0; i < min; i++) {
    const char = strs[0][i];
    if (strs.every((d) => d[i] === char)) ret += char;
    else break;
  }

  return ret;
}

image.png