赞
踩
如有不对的地方欢迎指正(๑•̀ㅂ•́)و✧
1
-题目
2
已给定部分代码(注意这代表已给定部分数据,不可删除,可以理解为让我们完成一个函数)
最后返回一个数组,returnSize为返回数组的长度
笔记
1.在函数中可以用if加return语句来使函数有不同的返回值。
2.函数中出现return语句,终止函数的执行,并返回函数的值。
3优化思维如果没有产生进位(如[9,9]加一变为[1,0,0])则直接return原数组(结束函数运行),如进位则加新开数组输出。
/** * Note: The returned array must be malloced, assume caller calls free(). */ int* plusOne(int* digits, int digitsSize, int* returnSize){ if(digits==NULL&&digitsSize==0) { *returnSize=0; return NULL; } int i; for(i=digitsSize-1;i>=0;i--) { if(digits[i]==9) { digits[i]=0; } else { digits[i]++; *returnSize=digitsSize; return digits; } } *returnSize=digitsSize+1; int *a=(int*)malloc((digitsSize + 1) * sizeof(int)); memset(a,0,(digitsSize + 1) * sizeof(int)); a[0]=1; return a; }
如有侵权,请联系
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。