[LeetCode14.最长公共前缀] | 刷题打卡

183 阅读1分钟

题目描述:

编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 ""。并且我们假设:

  • 所有输入只包含小写字母 a-z
  • 需考虑数组为空的情况。

示例:

输入: ["java","javascript","json"]
输出: "j"

输入: ["dog","racecar","car"]
输出: ""

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

方法分析:

在分析此类问题,我们的思路应该大致如下:

  • 如果字符串数组为空,我们就直接返回一个空字符串。

  • 如果字符串数组只有一项,如["qianduan"],那么就直接返回该字符串即可。

  • 如果字符串数组有多项,我们可以先取得第一项,然后再依次将第一项字符串的每个字符与后面每一个字符串的相应位置的字符进行比较;如果有不同,就不再进行后续判断,而是直接返回结果即可;如果在这一轮迭代中相应位置的字符相同,则记录下来。

    var longestCommonPrefix = function(strings) { var firstStrs = strings[0]; var result =''; if(!strings.length){ return result; } for (var i = 0; i < firstStrs.length; i++) { for (var j = 1; j < strings.length; j++) {
    if(firstStrs[i] != strings[j][i]){
    return result; } } result += firstStrs[i]; } return result; };

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情