力扣刷题的开始
如有不对的地方欢迎指正(๑•̀ㅂ•́)و✧
-
1
-题目
-
2
已给定部分代码(注意这代表已给定部分数据,不可删除,可以理解为让我们完成一个函数)
最后返回一个数组,returnSize为返回数组的长度
- 3
笔记
1.在函数中可以用if加return语句来使函数有不同的返回值。
2.函数中出现return语句,终止函数的执行,并返回函数的值。
3优化思维如果没有产生进位(如[9,9]加一变为[1,0,0])则直接return原数组(结束函数运行),如进位则加新开数组输出。
- 4
代码实现
/**
* 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;
}
如有侵权,请联系
更多推荐
力扣(leetcode)66.加一——c语言新手入门
发布评论