手机网站开发解决方案,宁波市江北区建设局网站,川汇网站建设,wordpress 客户端配置给定一个由 整数 组成的 非空 数组所表示的非负整数#xff0c;在该数的基础上加一。
最高位数字存放在数组的首位#xff0c; 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外#xff0c;这个整数不会以零开头。
思路一#xff1a;模拟题意
int* plusOne(i…给定一个由 整数 组成的 非空 数组所表示的非负整数在该数的基础上加一。
最高位数字存放在数组的首位 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外这个整数不会以零开头。
思路一模拟题意
int* plusOne(int* digits, int digitsSize, int* returnSize){int x digitsSize - 1;while (x ! -1){if (digits[x] 9){digits[x] 0;x--;}else{digits[x];*returnSize digitsSize;return digits;}}*returnSize digitsSize 1;int* tmp (int*)malloc(sizeof(int) * (digitsSize 1));tmp[0] 1;for(int i 1;idigitsSize1;i)tmp[i] 0;return tmp;
}
分析
本题将数组内数加一需要考虑数组末尾是否为9的情况若末尾为9则将其变为0后前一位加一最后再用另一个数组存储输出若不为零则直接最后一位加一输出
总结
本题为简单题考虑末尾是否为9即可解决