14. 最长公共前缀
Opened this issue · 2 comments
18355416639 commented
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
18355416639 commented
思路:
判断数组长度,为0的话直接返回空;
预定义最长公共前缀为数组第一项
遍历数组,遍历公共前缀字符,拿数组当前项的当前下标字符与公共前缀字符的下标进行对比,不相等就截取公共字符,结束当前循环
var longestCommonPrefix = function(strs) {
if(strs.length === 0) {
return ''
}
let commonStr = strs[0]
for(let i=0;i < strs.length;i++ ) {
for(let j=0;j < commonStr.length; j++) {
if(strs[i][j] !== commonStr[j]){
commonStr = commonStr.slice(0,j)
break
}
}
}
return commonStr
};
lively-krishnan commented
思路: 判断数组长度,为0的话直接返回空; 预定义最长公共前缀为数组第一项 遍历数组,遍历公共前缀字符,拿数组当前项的当前下标字符与公共前缀字符的下标进行对比,不相等就截取公共字符,结束当前循环
var longestCommonPrefix = function(strs) { if(strs.length === 0) { return '' } let commonStr = strs[0] for(let i=0;i < strs.length;i++ ) { for(let j=0;j < commonStr.length; j++) { if(strs[i][j] !== commonStr[j]){ commonStr = commonStr.slice(0,j) break } } } return commonStr };
还有其他方式吗!