Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 1.27 KB

14.最长公共前缀.md

File metadata and controls

48 lines (37 loc) · 1.27 KB

示例 1:

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

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

示例  1:

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

示例  2:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:
  1. 先遍历数组
  2. 再遍历数组的第一个字符串,用字符串中的每一个字符和数组中的每一项的对应的该字符串下标相比,不同则跳出循环,两两找出公共前缀,最终结果即为最长公共前缀的长度 j。
  3. 截取字符串长度 j 的字符即为最长公共前缀
const strs = ['flower', 'flow', 'flight']
const longestCommonPrefix = function (strs) {
  if (strs === null || strs.length === 0) return ''
  let commonString = ''

  for (let i = 1; i < strs.length; i++) {
    let j = 0
    for (; j < strs[0].length && j < strs[i].length; j++) {
      if (strs[0][j] !== strs[i][j]) break
    }
    commonString = strs[0].substring(0, j)
  }
  return commonString
}
longestCommonPrefix(strs)