这里写目录标题
-
-
-
- 题目介绍
- 解题思路
- 解题代码
- 提交结果
-
-
题目介绍

解题思路
当strs长度为1时,返回的是strs[0]自身。不管它本身是不是空字符串。
在strs长度>1的时候, 以下来画图举例说明:

解题代码
/*** @param {string[]} strs* @return {string}*/
var longestCommonPrefix = function(strs) {if(strs.length === 1) {return strs[0];}// 获取所有元素中的最短长度// 目的是 只比较最短长度内的字符, 超出的字符不做比较var _len = strs[0].length;var minLen = 0;for(let v of strs) {minLen = Math.min(v.length, _len)}// 获取公共字符串var preStr = strs[0].slice(0, minLen);var commonStr = '';var _strs = strs.slice(1);for(let v of _strs) {for(var i = 0; i < preStr.length; i++) {if(v[i] === preStr[i]) {commonStr += v[i];} else { // 只要字符不相同,就跳出该循环break;}}// 只要其中两个字符串没有公共前缀,// 就立即结束循环,并返回空字符串作为最终结果if(commonStr.length === 0) {return '';}preStr = commonStr;commonStr = ''; // 每次完成一轮循环后,需要清空接收公共前缀的值}return preStr;
};
提交结果
