题目【简单】:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。
解法一:
var longestCommonPrefix = function(strs) {
if(strs == null || strs.length == 0) return ''
let ans = strs[0]
for(let i = 1; i < strs.length; i++){
let j = 0;
for(; j < ans.length && j < strs[i].length; j++) {
if(ans[j] !== strs[i][j]) break
}
ans = ans.substring(0, j)
if(ans == '') return ans
}
return ans
};
解法二:
var longestCommonPrefix = function(strs) {
if(strs.length == 0 || strs == null) return ''
let length = strs[0].length
let count = strs.length
for(let i = 0; i < length; i++){
let c = strs[0].charAt(i)
for(let j = 1; j < count; j++) {
if(i == strs[j].length || strs[j].charAt(i) !== c){
return strs[0].substring(0, i)
}
}
}
return strs[0]
};
注:
- charAt()
基本语法:string.charAt(index)
用法:获取字符串中指定位置的字符 - substring()
基本语法:string.substr(start,length)
用法:可在字符串中抽取从start下标开始的指定数目length的字符,不改变源字符串。