【LeetCode每日一练】1313. 解压缩编码列表(简单|JS|快慢指针)

一、题目描述

在这里插入图片描述

二、解题思路

  1. 循环一次,根据nums[i]和nums[i+1]创建新的数组,再把这个数组concat到结果数组中,但leetcode上提交这个代码会显示内部错误???!(已发现问题,文末说明)
  2. 快慢指针:其实和第一种思路其实差不多,但为什么这个就能提交???!

三、代码实现

方法1:

var decompressRLElist = function(nums) {
    
    
    const len = nums.length
    let res = []
    for(let i=0;i<len;i+=2){
    
    
        let list = new Array(nums[i]).fill(nums[i+1])
        res = res.concat(list)
    }
    return res
};

方法2:

var decompressRLElist = function(nums) {
    
    
    let len = nums.length
    let res = [],fast=1,slow=0
    while(fast<=len){
    
    
        res = res.concat(new Array(nums[slow]).fill(nums[fast]))
        fast += 2
        slow += 2
    }
    return res
};

排查后发现,是const len = nums.length导致的内部出错的,可是之前的都可以用const啊!BUG?

猜你喜欢

转载自blog.csdn.net/weixin_40764047/article/details/111085840