[leetcode javascript解題]Longest Comon Profix
2303 ワード
leetcodeの14番「Longest Common Prfix」の記述はこのようです.
Write a function to find the longest common prefix string amongst an array of strigs.
つまり、文字列配列の中から共通の最長プレフィックス文字列を探しています.最初に考慮したのは、この最長プレフィックス文字列は最も短い文字列の長さより小さいはずです.だから、最初に短い文字列の長さのminlenを見つけて、文字列配列を巡回して、出現後は一致しない項目があり、直接return出力します.ループ全体が完了すると、代表長がminlenであるプレフィックス文字列が求められ、出力長がminlenの文字列となる.
Write a function to find the longest common prefix string amongst an array of strigs.
つまり、文字列配列の中から共通の最長プレフィックス文字列を探しています.最初に考慮したのは、この最長プレフィックス文字列は最も短い文字列の長さより小さいはずです.だから、最初に短い文字列の長さのminlenを見つけて、文字列配列を巡回して、出現後は一致しない項目があり、直接return出力します.ループ全体が完了すると、代表長がminlenであるプレフィックス文字列が求められ、出力長がminlenの文字列となる.
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
if(strs.length<2){
return strs[0]?strs[0]:"";
}
var prefix="",
minlen=strs[0].length;
for(var i=1; iif(strs[i].lengthif(minlen===0){
return "";
}
for(var j=0; jfor(var k=0;k1;k++){
if(strs[k][j]!==strs[k+1][j]){
if(j>0){
prefix+=strs[0].substr(0,j);
}
return prefix;
}
}
}
return strs[0].substr(0,minlen);
};