题目描述:
编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 ""
。并且我们假设:
- 所有输入只包含小写字母
a-z
。 - 需考虑数组为空的情况。
示例:
输入: ["java","javascript","json"]
输出: "j"
输入: ["dog","racecar","car"]
输出: ""
输入: ["flower","flow","flight"]
输出: "fl"
方法分析:
在分析此类问题,我们的思路应该大致如下:
-
如果字符串数组为空,我们就直接返回一个空字符串。
-
如果字符串数组只有一项,如["qianduan"],那么就直接返回该字符串即可。
-
如果字符串数组有多项,我们可以先取得第一项,然后再依次将第一项字符串的每个字符与后面每一个字符串的相应位置的字符进行比较;如果有不同,就不再进行后续判断,而是直接返回结果即可;如果在这一轮迭代中相应位置的字符相同,则记录下来。
var longestCommonPrefix = function(strings) { var firstStrs = strings[0]; var result =''; if(!strings.length){ return result; } for (var i = 0; i < firstStrs.length; i++) { for (var j = 1; j < strings.length; j++) { if(firstStrs[i] != strings[j][i]){ return result; } } result += firstStrs[i]; } return result; };
本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!