思路分析

模拟。
先求出总长度,确定要开辟的空间,然后按题意添加数组元素。

代码实现

  1. class Solution {
  2. public int[] decompressRLElist(int[] nums) {
  3. int[] ans;
  4. int i;
  5. int j;
  6. int len = 0;
  7. for (i = 0; i < nums.length / 2; ++i){
  8. len += nums[i * 2];
  9. }
  10. ans = new int[len];
  11. int index = 0;
  12. for (i = 0; i < nums.length / 2; ++i){
  13. for (j = 0; j < nums[i * 2]; ++j){
  14. ans[index++] = nums[i * 2 + 1];
  15. }
  16. }
  17. return ans;
  18. }
  19. }