summaryrefslogtreecommitdiff
path: root/c/0066/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/0066/main.c')
-rw-r--r--c/0066/main.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/c/0066/main.c b/c/0066/main.c
deleted file mode 100644
index b01eb8b..0000000
--- a/c/0066/main.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdlib.h>
-
-// begin
-
-/**
- * Note: The returned array must be malloced, assume caller calls free().
- */
-int* plusOne(int* digits, int digitsSize, int* returnSize) {
- int *buffer = malloc((digitsSize + 1) * sizeof(int));
- for (int i = 0; i < digitsSize; i++) {
- buffer[i] = digits[digitsSize - 1 - i];
- }
- buffer[0]++;
- int carry = 0;
- for (int i = 0; i < digitsSize; i++) {
- int val = buffer[i] + carry;
- carry = val / 10;
- buffer[i] = val % 10;
- }
- int len = digitsSize;
- if (carry) {
- len++;
- buffer[digitsSize] = 1;
- }
- int lp = 0, rp = len - 1;
- while (lp <= rp) {
- int t = buffer[lp];
- buffer[lp] = buffer[rp];
- buffer[rp] = t;
- lp++;
- rp--;
- }
- *returnSize = len;
- return buffer;
-}
-
-// end
-