题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例如下:
所给提示如下:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
仅由小写英文字母组成
解题
根据题,需要依次遍历数组中的字符串,将其挨个比较,找出最长公共前缀。选择数组的第一个字符串作为基准,在后面的各个字符串将与基准字符串有相同前缀的字符串截取出来。
利用字符串的 substring 方法截取基准字符串(直至长度为0),依次在后面的字符串中利用 indexOf方法获取下标索引,为0则表示有相同部分存在,依次遍历,返回最后截取的字符串。
/*** @param {string[]} strs* @return {string}*/
var longestCommonPrefix = function(strs) {if (strs.length === 0) return "";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 "";}}return prefix;
};