var longestCommonPrefix = function(strs) {
let len = strs.length;
let str = '';
if(len === 0){
return ''
}
if(len === 1){
return strs[0]
}
str = findPublicPrefix(strs[0],strs[1])
if(str === ''){
return ''
}
for(let index =2;index<len;index++){
str = findPublicPrefix(str,strs[index])
if(str === ''){
return ''
}
}
return str;
};
function findPublicPrefix(str1,str2){
let len1 = str1.length;
let len2 = str2.length;
let len = len1 > len2? len2:len1;
let index = 0;
let str = ''
for(index;index<len;index++){
if(str1[index] === str2[index]){
str += str1[index]
}else{
break
}
}
return str;
}
照例先上自己的一坨,再学习了下用正则表达式的方法,下午再看看木桶原则
var longestCommonPrefix = function(strs) {
let len = strs.length;
let str = '';
if(len === 0){
return ''
}
if(len === 1){
return strs[0]
}
let re = strs[0];
for(let index = 1;index <len;index++){
let regex = RegExp('^'+re);
while(!regex.test(strs[index])&&re.length){
re = re.slice(0,re.length-1);
regex = RegExp('^'+re);
}
}
return re
}