一个关于编码的问题解压缩编码列表

给你一个以行程长度编码压缩的整数列表 nums 。

考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。

请你返回解压后的列表。

C语言实现:

int* decompressRLElist(int* nums, int numsSize, int* returnSize){
    int i, j;
    int freq, val;
    int *ret = (int *) malloc( sizeof(int) * 10000 );
    *returnSize = 0;

    for(i = 0; i < numsSize; i += 2) {
        freq = nums[i];
        val = nums[i+1];
        for(j = 0; j < freq; ++j)
            ret[ (*returnSize)++ ] = val;
    }
    return ret;
}