【 LeetCode 】14、最长公共前缀

该博客介绍了如何编写一个JavaScript函数,利用Array.prototype.reduce方法找出字符串数组中的最长公共前缀。首先检查输入是否有效,然后通过比较数组中每个字符串的对应字符来确定公共部分,最后返回公共前缀。示例代码展示了如何实现这个功能,并给出了一个测试用例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

14.1、问题描述

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。

  • 判断输入的字符串是否是undefined或者为空
  • 对数组内的字符串进行对比
    • array.reduce( (prev,next) => { } )
      • prev 执行一次reduce 之后的返回值
      • next 遍历得到的值
    • 返回公共前缀 使用 slice()方法切割
  • array.reduce()
    • array.reduce(( prev , next , index , array ) => { 
          return //coding ; 
      },initialValue)
      参数详解
      	prev
      		initialValue为可选项 
          		设置了initialValue之后 prev的值就是initialValue
          		没有设置initialValue prev的值就是数组的第一项	
          	下一次操作之后 prev接收的就是 return之后的返回值
      	next
      		数组的每一项(遍历获得的元素)
      	index 
      		数组下标
      	array
      		原数组
      
      

14.2、代码块

var longestCommonPrefix = function (strs) {
    // 判断输入的字符串是否是undefined或者为空
    if (strs === undefined || strs.length === 0) {
        return "";
    }
    // 对数组内的字符串进行对比
    return strs.reduce((prev, next) => {
        var i = 0;
        // 对获得的字符串每一个字符进行对比
        while (prev[i] && next[i] && prev[i] === next[i]) {
            // 相等的情况下 继续向后查找并进行对比
            i++;
        }
        // 返回公共前缀 使用 slice()方法切割
        return prev.slice(0, i);
    }, strs[0])

};
console.log(longestCommonPrefix(["qweasds", "qweaa", "qwer"]));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值