一、题目描述
二、解题思路
- 循环一次,根据nums[i]和nums[i+1]创建新的数组,再把这个数组
concat
到结果数组中,但leetcode上提交这个代码会显示内部错误???!(已发现问题,文末说明) - 快慢指针:其实和第一种思路其实差不多,但为什么这个就能提交???!
三、代码实现
方法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?