Skip to content

Commit 1b23a8d

Browse files
committed
add my solutions
1 parent 8f60f1c commit 1b23a8d

File tree

5 files changed

+30
-1
lines changed

5 files changed

+30
-1
lines changed

solutions/002.add-two-numbers/add-two-numbers.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* struct ListNode {
4+
* int val;
5+
* struct ListNode *next;
6+
* };
7+
*/
18
/**
29
* Definition for singly-linked list.
310
* struct ListNode {

solutions/002.add-two-numbers/db.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"c":"/**\n * Definition for singly-linked list.\n * struct ListNode {\n * int val;\n * struct ListNode *next;\n * };\n */\nstruct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {\n\tstruct ListNode *result, *currentNode, *headNode;\n\theadNode = NULL;\n\tint flag = 0;\n while(l1 != NULL && l2 !=NULL) {\n \tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n \tcurrentNode->next = NULL;\n \tif(l1->val + l2->val + flag > 9) {\n \t\tcurrentNode->val = l1->val + l2->val + flag - 10;\n \t\tflag = 1;\n\t\t} else {\n\t\t\tcurrentNode->val = l1->val + l2->val + flag;\n\t\t\tflag = 0;\n\t\t}\n\t\tif (headNode == NULL) {\n\t\t\theadNode = currentNode;\n\t\t} else {\n\t\t\tresult->next = currentNode;\n\t\t}\n\t\tresult = currentNode;\n\t\tl1 = l1->next;\n\t\tl2 = l2->next;\n\t}\n\twhile(l1 != NULL) {\n\t\tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n\t\tcurrentNode->next = NULL;\n\t\tif(l1->val + flag > 9){\n\t\t\tcurrentNode->val = l1->val + flag - 10;\n\t\t\tflag = 1;\n\t\t} else {\n\t\t\tcurrentNode->val = l1->val + flag;\n\t\t\tflag = 0;\n\t\t}\n\t\tresult->next = currentNode;\n\t\tresult = currentNode;\n\t\tl1 = l1->next;\n\t}\n\twhile(l2 != NULL) {\n\t\tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n\t\tcurrentNode->next = NULL;\n\t\tif(l2->val + flag > 9){\n\t\t\tcurrentNode->val = l2->val + flag - 10;\n\t\t\tflag = 1;\n\t\t} else {\n\t\t\tcurrentNode->val = l2->val + flag;\n\t\t\tflag = 0;\n\t\t}\n\t\tresult->next = currentNode;\n\t\tresult = currentNode;\n\t\tl2 = l2->next;\n\t}\n\tif(flag != 0) {\n\t\tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n\t\tcurrentNode->next = NULL;\n\t\tcurrentNode->val = flag;\n\t\tresult->next = currentNode;\n\t}\n\treturn headNode;\n}"}
1+
{"c":"/**\n * Definition for singly-linked list.\n * struct ListNode {\n * int val;\n * struct ListNode *next;\n * };\n */\n/**\n * Definition for singly-linked list.\n * struct ListNode {\n * int val;\n * struct ListNode *next;\n * };\n */\nstruct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {\n\tstruct ListNode *result, *currentNode, *headNode;\n\theadNode = NULL;\n\tint flag = 0;\n while(l1 != NULL && l2 !=NULL) {\n \tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n \tcurrentNode->next = NULL;\n \tif(l1->val + l2->val + flag > 9) {\n \t\tcurrentNode->val = l1->val + l2->val + flag - 10;\n \t\tflag = 1;\n\t\t} else {\n\t\t\tcurrentNode->val = l1->val + l2->val + flag;\n\t\t\tflag = 0;\n\t\t}\n\t\tif (headNode == NULL) {\n\t\t\theadNode = currentNode;\n\t\t} else {\n\t\t\tresult->next = currentNode;\n\t\t}\n\t\tresult = currentNode;\n\t\tl1 = l1->next;\n\t\tl2 = l2->next;\n\t}\n\twhile(l1 != NULL) {\n\t\tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n\t\tcurrentNode->next = NULL;\n\t\tif(l1->val + flag > 9){\n\t\t\tcurrentNode->val = l1->val + flag - 10;\n\t\t\tflag = 1;\n\t\t} else {\n\t\t\tcurrentNode->val = l1->val + flag;\n\t\t\tflag = 0;\n\t\t}\n\t\tresult->next = currentNode;\n\t\tresult = currentNode;\n\t\tl1 = l1->next;\n\t}\n\twhile(l2 != NULL) {\n\t\tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n\t\tcurrentNode->next = NULL;\n\t\tif(l2->val + flag > 9){\n\t\t\tcurrentNode->val = l2->val + flag - 10;\n\t\t\tflag = 1;\n\t\t} else {\n\t\t\tcurrentNode->val = l2->val + flag;\n\t\t\tflag = 0;\n\t\t}\n\t\tresult->next = currentNode;\n\t\tresult = currentNode;\n\t\tl2 = l2->next;\n\t}\n\tif(flag != 0) {\n\t\tcurrentNode = (struct ListNode *)malloc(sizeof(struct ListNode));\n\t\tcurrentNode->next = NULL;\n\t\tcurrentNode->val = flag;\n\t\tresult->next = currentNode;\n\t}\n\treturn headNode;\n}"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"c":"int searchInsert(int* nums, int numsSize, int target) {\n if(numsSize == 0) {\n return 0;\n }\n for(int i = 0; i < numsSize; i++) {\n if(nums[i] >= target) {\n return i;\n }\n }\n return numsSize;\n}"}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
2+
3+
You may assume no duplicates in the array.
4+
5+
6+
Here are few examples.
7+
[1,3,5,6], 5 &#8594; 2
8+
[1,3,5,6], 2 &#8594; 1
9+
[1,3,5,6], 7 &#8594; 4
10+
[1,3,5,6], 0 &#8594; 0
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
int searchInsert(int* nums, int numsSize, int target) {
2+
if(numsSize == 0) {
3+
return 0;
4+
}
5+
for(int i = 0; i < numsSize; i++) {
6+
if(nums[i] >= target) {
7+
return i;
8+
}
9+
}
10+
return numsSize;
11+
}

0 commit comments

Comments
 (0)