void duplicateZeros(int* arr, int arrSize) {
    int* temp=(int*)malloc(sizeof(int)*arrSize);
    int head=0,index=0;
    while(head<arrSize && index<arrSize){
        temp[head++]=arr[index++];
        if(arr[index-1]==0){
            if(head==arrSize) break;
            temp[head++]=0;
        } 
    }
    for(int i=0;i<arrSize;i++) arr[i]=temp[i];
    free(temp);
}

结果:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。