Write a function to find the longest common prefix string amongst an array of strings.
找到最长的公共前缀。
横向对比
以第一个字符串为基准,一个一个比。这样如果最后一个字符串很不符合,那前面的就都白比了。
var longestCommonPrefix = function(strs) {
var num = strs.length;
if (num===0)
return "";
var prefix = strs[0];
var count = prefix.length;
for (var i = 0;i<num;i++) {
for (var k = 0; k<count;k++) {
if (strs[i][k]!==prefix[k])
break;
}
if (k<=count)
count = k;
}
return prefix.substring(0,k)
};
纵向对比
我们先比较所有字符串的第一个字母,都符合再去比较下一个。
var longestCommonPrefix = function(strs) {
//纵向
if (strs === null || strs.length === 0) return "";
for (var i = 0; i < strs[0].length ; i++){
var c = strs[0][i];
for (var j = 1; j < strs.length; j ++) {
if (i == strs[j].length || strs[j][i] != c)
return strs[0].substring(0, i);
}
}
return strs[0];
};