前端企业面试题:企业真实案例——20
2020-08-26 14:04
811 查看
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
题目来源:力扣(LeetCode) 链接:力扣
[code]/* 大体思路如下: 先遍历前两个字符串, 找到公共前缀 flower flow ==============公共前缀为 flo 然后将flo与下一个字符串进行比对, 查找公共前缀 flight ==============公共前缀为 fl 依次类推 最终, 最后一次得出的公共前缀为最终答案 结束. */ var longestCommonPrefix = function(strs) { if(strs.length==0) return ""; return strs.reduce((pre,next)=>{ for(var i=0; i<pre.length; i++) { if(next[i]!=pre[i]) break; } return pre.substring(0,i); }) };
另外一种解法
[code]var longestCommonPrefix = function(strs) { strs.sort(); //按编码排序 //结果 ["flight","flow","flower"] if (strs.length === 0) return ''; //空数组返回'' var first = strs[0]; var end = strs[strs.length - 1]; //只需对比第一个和最后一个字符串即可 if(first === end || end.startsWith(first)){ return first; //如果 end以first开头, 直接返回first } for(var i=0;i<first.length;i++){ if(first[i] !== end[i]){ return first.substring(0,i); } } };
相关文章推荐
- 2017最新企业Shell面试题及企业运维实战共30道案例
- 前端面试题:企业面试真题—3
- 真实工作经验总结——案例解析企业选型操作步骤
- 真实企业JAVA面试题
- 企业Shell面试题15:开发Rsync服务启动脚本案例
- 2017最新企业Shell面试题及企业运维实战共30道案例
- 前端面试题:企业面试真题—2
- linux企业真实面试题
- 大数据真实企业的面试题《十》--spark面试笔试题
- 前端面试题:企业面试真题—1
- 前端面试题:企业面试真题—8
- [转载] 每个前端开发者必会的 20 个 JavaScript 面试题
- 企业Shell面试题1:批量生成随机字符文件名案例
- JAVA企业面试题精选 Web基础 11-20
- 前端面试题:企业面试真题—9
- 前端面试题:企业面试真题——18
- 前端面试题:企业面试真题—10
- 前端面试题:企业面试真题—14
- 前端面试题:企业面试真题——16