您的位置:首页 > 其它

[LeetCode] Summary Ranges

2015-09-29 13:18 197 查看
题目:给定一个无重复且升序的整数数组,返回摘要部分

分析:动态分配二维字符数组的空间,以及字符串的拼接

C语言参考代码:

char** summaryRanges(int* nums, int numsSize, int* returnSize) {

int sum=*nums,j=0,i=0;

char** s=(char**)malloc(sizeof(char*)*numsSize);

char temp[50];

s[0]=(char*)malloc(100*sizeof(char));

if(numsSize==0)

{

return s;

}

sprintf(s[0],"%d",*nums);

for(int i=1;i<numsSize;i++)

{

nums++;

if(sum+1==*nums)

{

while(i<numsSize&&sum+1==*nums)

{

nums++;

i++;

sum++;

}

i=i-1;

strcat(s[j],"->");

sprintf(temp,"%d",*(--nums));

strcat(s[j],temp);

sum=*nums;

}

else

{

j++;

s[j]=(char*)malloc(100*sizeof(char));

sprintf(temp,"%d",*nums);

strcat(s[j],temp);

sum=*nums;

}

}

*returnSize=j+1;

return s;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: