C语言 | Leetcode C语言题解之第228题汇总区间

题目:

题解:

char** summaryRanges(int* nums, int numsSize, int* returnSize) {
    char** ret = malloc(sizeof(char*) * numsSize);
    *returnSize = 0;
    int i = 0;
    while (i < numsSize) {
        int low = i;
        i++;
        while (i < numsSize && nums[i] == nums[i - 1] + 1) {
            i++;
        }
        int high = i - 1;
        char* temp = malloc(sizeof(char) * 25);
        sprintf(temp, "%d", nums[low]);
        if (low < high) {
            sprintf(temp + strlen(temp), "->");
            sprintf(temp + strlen(temp), "%d", nums[high]);
        }
        ret[(*returnSize)++] = temp;
    }
    return ret;
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 23:34:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 23:34:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 23:34:04       58 阅读
  4. Python语言-面向对象

    2024-07-15 23:34:04       69 阅读

热门阅读

  1. C++版OpenCV_01_图像数字化

    2024-07-15 23:34:04       21 阅读
  2. NAT实验

    NAT实验

    2024-07-15 23:34:04      15 阅读
  3. Linux

    2024-07-15 23:34:04       22 阅读
  4. RocketMQ入门指南:同步、异步、单向、延迟消息

    2024-07-15 23:34:04       22 阅读
  5. kubebuilder入门

    2024-07-15 23:34:04       19 阅读
  6. 嵌入式C语言常用技巧

    2024-07-15 23:34:04       19 阅读
  7. 独立站平台选择指南:WordPress 的优势与不足

    2024-07-15 23:34:04       20 阅读
  8. 国家自然科学基金 | 面上| 青基 | 联合 | 重点

    2024-07-15 23:34:04       21 阅读