参考链接
- https://leetcode-cn.com/problems/decompress-run-length-encoded-list/
题目描述
给你一个以行程长度编码压缩的整数列表 nums 。
考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。
请你返回解压后的列表。
解题思路
步长为2地遍历数组即可,使用push_back()或insert()在数组后加上若干个相应数。
代码
class Solution {
public:
vector<int> decompressRLElist(vector<int>& nums) {
vector<int> res;
for (int i = 0; i < nums.size(); i += 2)
{
for (int j = 0; j < nums[i]; j ++)
{
res.insert(res.end(), nums[i + 1]);
// or res.push_back(nums[i + 1]);
}
}
return res;
}
};