题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
**示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
算法实现:
JavaScript
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
var pre = ""
if(!strs.length) return pre
for(var j = 0; j < strs[0].length; j++ ) {
for(var i = 1; i < strs.length; i++ ) {
if(strs[i][j] != strs[0][j]) return pre
}
pre += strs[0][j]
}
return pre
};
思路:
对数组中的每个字符串的每位进行对比是否相同,相同则逐位加上,最终得到最大公共前缀。
总结:
运用了与往常不同的循环方式,内循环嵌套外循环,进而解决字符串位次相加问题,注意需要添加数组中只有一个字符串时直接返回“”的情况。