Skip to content

Latest commit

 

History

History
63 lines (43 loc) · 1.06 KB

14. 最长公共前缀.md

File metadata and controls

63 lines (43 loc) · 1.06 KB

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

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

示例 1:

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

示例 2:

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

提示:

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

思路

以第一个字符串为基点,遍历对比

代码

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
  if (!strs.length) return '';
  let prefix = '', firstLen = strs[0].length;
  for(let i = 0; i < firstLen; i ++) {
    for(let j = 1; j < strs.length; j++) {
      if (strs[j][i] !== strs[0][i]) {
        return prefix
      }
    }
    prefix += strs[0][i]
  }
  return prefix
};

复杂度分析

时间复杂度 $O(N^2)$

空间复杂度 $O(1)$