【前端算法每日一题】leetcode-014-最长公共前缀

103 阅读1分钟

题目描述

  • 编写一个函数来查找字符串数组中的最长公共前缀
  • 如果不存在公共前缀,返回空字符串 ""

解题思路

  • String.prototype.indexOf()
    • indexOf()  方法,给定一个参数:要搜索的子字符串,搜索整个调用字符串,并返回指定子字符串第一次出现的索引
  • 循环遍历字符串数组,直到每个字符串满足String.prototype.indexOf()返回值为0
  • 如果不满足则不断缩小公共前缀字符串,直到满足条件为止

解题代码(JavaScript)

var longestCommonPrefix = function (strs) {
  let prefix = strs[0];
  for (let i = 1; i < strs.length; i++) {
    while (strs[i].indexOf(prefix) !== 0) {
      prefix = prefix.substring(0, prefix.length - 1);
      if (prefix === "") {
        return prefix;
      }
    }
  }
  return prefix;
};