题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
提示:
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
思路:
从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同
如果相同则继续对下一列进行比较
如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀。
代码实现:
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
if(strs == null || strs.length == 0) {
return '';
}
for(let i = 0; i < strs[0].length; i++) {
for(let j = 1; j < strs.length; j++) {
let start = strs[0].substr(0, j);
if (i == strs[j] || strs[j][i] !== strs[0][i]) {
return strs[0].substr(0, i);
}
}
}
return strs[0];
};