【LeetCode】算法题66 Plus One
2017-09-29 12:12
465 查看
题目:Plus One
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
即:给定一个存放整数的数组(每个元素放该整数的一位,第0个元素放最高位),并给定该整数位数。
将该整数加1并返回存放结果的数组及结果整数位数。
贴代码:
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
即:给定一个存放整数的数组(每个元素放该整数的一位,第0个元素放最高位),并给定该整数位数。
将该整数加1并返回存放结果的数组及结果整数位数。
贴代码:
/** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */ int* plusOne(int* digits, int digitsSize, int* returnSize) { int* resultDigits = (int*)malloc((digitsSize) * sizeof(int)); int i = 0; int mark = -1; for (i = digitsSize - 1; i >= 0; i--) { if (digits[i] != 9) { mark = i; break; } else { resultDigits[i] = 0; } } if (mark != -1) { resultDigits[mark] = digits[mark] + 1; for (i = 0; i < mark; i++) { resultDigits[i] = digits[i]; } *returnSize = digitsSize; return resultDigits; } else { *returnSize = digitsSize + 1; resultDigits[0] = 1; realloc(resultDigits, (*returnSize) * sizeof(int)); resultDigits[digitsSize] = 0; return resultDigits; } }
相关文章推荐
- leetcode 66(plus one)
- leetcode 66. Plus One
- LeetCode_66---Plus One
- [LeetCode] 66. Plus One 加一
- LeetCode 66 - Plus One
- LeetCode_66. Plus One_数组加一
- leetcode-66. Plus One
- 2018.3.12 leetcode打卡 #66 plus one
- 【LeetCode】66 Plus One
- LeetCode 66. Plus One
- LeetCode 66 — Plus One(C++ Java Python)
- [leetcode:python]66.Plus One
- LeetCode||66. Plus One
- 【LeetCode 66】Plus One(Python)
- LeetCode-66-Plus One(水题/数值计算)-Easy
- LeetCode 66. Plus One
- 【LeetCode】66. Plus One
- Leetcode 66. Plus One
- leetcode 66.Plus One(简单大数模拟)
- 15算法课程 66. Plus One