#LeetCode#每日一题之最长公共前缀
题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:""
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
解题思路:
先假定最长公共前缀为空字符串,如果strs长度为0,则返回空字符串,否则遍历数组,判断每个字符串中第i位是否相等,相等则加到s后面
解题问题:
最开始想遍历每个字符串的每一位,但是好像太麻烦,后来在循环里面也出了些问题,另外也可以先假定s=strs[0],再去判断每个字符串的第i位是否相等,最后返回s.substr(0,i)
代码展示(JavaScript):
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
var s="";
if(!strs.length) return s;
for(var i=0;i<strs[0].length;i++){
for(var j=1;j<strs.length;j++){
if(strs[j][i]!=strs[0][i])
return s;
}
s+=strs[0][i];
}
return s;
};
运行结果: