题目:
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串
""
。
示例:
输入:strs = ["flower","flow","flight"] 输出:"fl"
思路:
使用双层嵌套循环,将数组中的第一个字符串与后续几个字符串进行比较,如果有不相等的则跳出对比循环,截取第一个到跳出循环位置的字符串即可。
解决:
var longestCommonPrefix = function(strs) {
//如果是空数组,则返回空
if (strs.length == 0)
return "";
//核心思想
for(var i=0;i<strs.length;i++){ //遍历数组
for(var j=0;j<strs[0].length&&j<strs[i].length;j++){ //遍历数组的第一个字符串
if(strs[0][j]!=strs[i][j]) break //如果不等则跳出,此时j为跳出位置
}
strs[0] = strs[0].substr(0,j) //截取字符串
if(strs[0]==='') return strs[0]
}
return strs[0]
};
技术点:
1. substr():提取字符串中两个指定索引之间的字符,包含后索引。
var str=”abbbcalg”;
return str.substr(0,5); //返回abbbca