有若干字符串,找出若干字符中最大相同的子串,例子如下:
['flow', 'flew', 'fly'] => 'fl'
此时上面字符串最大相同的子串就是'fl',示例代码如下
/**
* [longestCommonPrefix]
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
//为空直接返回
if(!strs.length){
return '';
}
let result = '';
let target = strs[0];
//以第一个字符串遍历,直到有不同的字符停止遍历
for(let i = 0; i < target.length; i++) {
let same = true;
for(let j = 1; j < strs.length; j++){
if(strs[j][i] !== target[i]){
same = false;
break;
}
}
if(same){
result = result + target[i];
}else {
break;
}
}
return result;
};
以上代码以第一个字符串作为参照对象,找到不同即刻停止遍历
也可以先找到若干子串中最短的字符串作为参照对象进行遍历