From 9de9abad07b98902ab6ee5edd7fc2cbf337335c6 Mon Sep 17 00:00:00 2001 From: pranjal030404 Date: Fri, 23 May 2025 15:03:53 +0530 Subject: [PATCH 1/5] olution and Readme file updated with all the terms --- .../0000-0099/0002.Add Two Numbers/README.md | 49 +++++++++++++++++++ .../0002.Add Two Numbers/README_EN.md | 48 ++++++++++++++++++ .../0000-0099/0002.Add Two Numbers/Solution.c | 40 +++++++++++++++ 3 files changed, 137 insertions(+) create mode 100644 solution/0000-0099/0002.Add Two Numbers/Solution.c diff --git a/solution/0000-0099/0002.Add Two Numbers/README.md b/solution/0000-0099/0002.Add Two Numbers/README.md index 3806f64b53d17..9e9f0a440e250 100644 --- a/solution/0000-0099/0002.Add Two Numbers/README.md +++ b/solution/0000-0099/0002.Add Two Numbers/README.md @@ -494,6 +494,55 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi result = aggregate ``` +#### C + ``` c + + /** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * struct ListNode *next; + * }; + */ + +struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) +{ + struct ListNode *dummy = (struct ListNode *)malloc(sizeof(struct ListNode)); + dummy->val = 0; + dummy->next = NULL; + struct ListNode *curr = dummy; + int carry = 0; + + while (l1 != NULL || l2 != NULL || carry != 0) + { + int sum = carry; + if (l1 != NULL) + { + sum += l1->val; + l1 = l1->next; + } + if (l2 != NULL) + { + sum += l2->val; + l2 = l2->next; + } + + carry = sum / 10; + int val = sum % 10; + + struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); + newNode->val = val; + newNode->next = NULL; + curr->next = newNode; + curr = curr->next; + } + + struct ListNode *result = dummy->next; + free(dummy); + return result; +} + ``` + diff --git a/solution/0000-0099/0002.Add Two Numbers/README_EN.md b/solution/0000-0099/0002.Add Two Numbers/README_EN.md index f6878f0937322..37dbc7e135713 100644 --- a/solution/0000-0099/0002.Add Two Numbers/README_EN.md +++ b/solution/0000-0099/0002.Add Two Numbers/README_EN.md @@ -490,6 +490,54 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi result = aggregate ``` +#### C +```c +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * struct ListNode *next; + * }; + */ + +struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) +{ + struct ListNode *dummy = (struct ListNode *)malloc(sizeof(struct ListNode)); + dummy->val = 0; + dummy->next = NULL; + struct ListNode *curr = dummy; + int carry = 0; + + while (l1 != NULL || l2 != NULL || carry != 0) + { + int sum = carry; + if (l1 != NULL) + { + sum += l1->val; + l1 = l1->next; + } + if (l2 != NULL) + { + sum += l2->val; + l2 = l2->next; + } + + carry = sum / 10; + int val = sum % 10; + + struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); + newNode->val = val; + newNode->next = NULL; + curr->next = newNode; + curr = curr->next; + } + + struct ListNode *result = dummy->next; + free(dummy); + return result; +} +``` + diff --git a/solution/0000-0099/0002.Add Two Numbers/Solution.c b/solution/0000-0099/0002.Add Two Numbers/Solution.c new file mode 100644 index 0000000000000..08fd89cf9ded0 --- /dev/null +++ b/solution/0000-0099/0002.Add Two Numbers/Solution.c @@ -0,0 +1,40 @@ +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * struct ListNode *next; + * }; + */ + +struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { + struct ListNode* dummy = (struct ListNode*) malloc(sizeof(struct ListNode)); + dummy->val = 0; + dummy->next = NULL; + struct ListNode* curr = dummy; + int carry = 0; + + while (l1 != NULL || l2 != NULL || carry != 0) { + int sum = carry; + if (l1 != NULL) { + sum += l1->val; + l1 = l1->next; + } + if (l2 != NULL) { + sum += l2->val; + l2 = l2->next; + } + + carry = sum / 10; + int val = sum % 10; + + struct ListNode* newNode = (struct ListNode*) malloc(sizeof(struct ListNode)); + newNode->val = val; + newNode->next = NULL; + curr->next = newNode; + curr = curr->next; + } + + struct ListNode* result = dummy->next; + free(dummy); + return result; +} \ No newline at end of file From 2e3bd2ffe029e81fb10d9cceca9dfb75e6b5b5e5 Mon Sep 17 00:00:00 2001 From: pranjal030404 <182807087+pranjal030404@users.noreply.github.com> Date: Fri, 23 May 2025 09:57:57 +0000 Subject: [PATCH 2/5] style: format code and docs with prettier --- .../0000-0099/0002.Add Two Numbers/README.md | 85 ++++++++++--------- .../0002.Add Two Numbers/README_EN.md | 7 +- 2 files changed, 47 insertions(+), 45 deletions(-) diff --git a/solution/0000-0099/0002.Add Two Numbers/README.md b/solution/0000-0099/0002.Add Two Numbers/README.md index 9e9f0a440e250..8f46cb7b1e210 100644 --- a/solution/0000-0099/0002.Add Two Numbers/README.md +++ b/solution/0000-0099/0002.Add Two Numbers/README.md @@ -495,53 +495,54 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi ``` #### C - ``` c - /** - * Definition for singly-linked list. - * struct ListNode { - * int val; - * struct ListNode *next; - * }; - */ +```c + +/** +* Definition for singly-linked list. +* struct ListNode { +* int val; +* struct ListNode *next; +* }; +*/ struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) { - struct ListNode *dummy = (struct ListNode *)malloc(sizeof(struct ListNode)); - dummy->val = 0; - dummy->next = NULL; - struct ListNode *curr = dummy; - int carry = 0; - - while (l1 != NULL || l2 != NULL || carry != 0) - { - int sum = carry; - if (l1 != NULL) - { - sum += l1->val; - l1 = l1->next; - } - if (l2 != NULL) - { - sum += l2->val; - l2 = l2->next; - } - - carry = sum / 10; - int val = sum % 10; - - struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); - newNode->val = val; - newNode->next = NULL; - curr->next = newNode; - curr = curr->next; - } - - struct ListNode *result = dummy->next; - free(dummy); - return result; + struct ListNode *dummy = (struct ListNode *)malloc(sizeof(struct ListNode)); + dummy->val = 0; + dummy->next = NULL; + struct ListNode *curr = dummy; + int carry = 0; + + while (l1 != NULL || l2 != NULL || carry != 0) + { + int sum = carry; + if (l1 != NULL) + { + sum += l1->val; + l1 = l1->next; + } + if (l2 != NULL) + { + sum += l2->val; + l2 = l2->next; + } + + carry = sum / 10; + int val = sum % 10; + + struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); + newNode->val = val; + newNode->next = NULL; + curr->next = newNode; + curr = curr->next; + } + + struct ListNode *result = dummy->next; + free(dummy); + return result; } - ``` +``` diff --git a/solution/0000-0099/0002.Add Two Numbers/README_EN.md b/solution/0000-0099/0002.Add Two Numbers/README_EN.md index 37dbc7e135713..e9fc9a9bbbc8a 100644 --- a/solution/0000-0099/0002.Add Two Numbers/README_EN.md +++ b/solution/0000-0099/0002.Add Two Numbers/README_EN.md @@ -490,7 +490,8 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi result = aggregate ``` -#### C +#### C + ```c /** * Definition for singly-linked list. @@ -533,9 +534,9 @@ struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) } struct ListNode *result = dummy->next; - free(dummy); + free(dummy); return result; -} +} ``` From 4e9aab5c4311ec80adcfc3789175e9d9683655af Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Fri, 23 May 2025 20:16:01 +0800 Subject: [PATCH 3/5] Update README.md --- .../0000-0099/0002.Add Two Numbers/README.md | 80 +++++++++---------- 1 file changed, 38 insertions(+), 42 deletions(-) diff --git a/solution/0000-0099/0002.Add Two Numbers/README.md b/solution/0000-0099/0002.Add Two Numbers/README.md index 8f46cb7b1e210..2b908b24a55a7 100644 --- a/solution/0000-0099/0002.Add Two Numbers/README.md +++ b/solution/0000-0099/0002.Add Two Numbers/README.md @@ -499,48 +499,44 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi ```c /** -* Definition for singly-linked list. -* struct ListNode { -* int val; -* struct ListNode *next; -* }; -*/ - -struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) -{ - struct ListNode *dummy = (struct ListNode *)malloc(sizeof(struct ListNode)); - dummy->val = 0; - dummy->next = NULL; - struct ListNode *curr = dummy; - int carry = 0; - - while (l1 != NULL || l2 != NULL || carry != 0) - { - int sum = carry; - if (l1 != NULL) - { - sum += l1->val; - l1 = l1->next; - } - if (l2 != NULL) - { - sum += l2->val; - l2 = l2->next; - } - - carry = sum / 10; - int val = sum % 10; - - struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); - newNode->val = val; - newNode->next = NULL; - curr->next = newNode; - curr = curr->next; - } - - struct ListNode *result = dummy->next; - free(dummy); - return result; + * Definition for singly-linked list. + * struct ListNode { + * int val; + * struct ListNode *next; + * }; + */ + +struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { + struct ListNode* dummy = (struct ListNode*) malloc(sizeof(struct ListNode)); + dummy->val = 0; + dummy->next = NULL; + struct ListNode* curr = dummy; + int carry = 0; + + while (l1 != NULL || l2 != NULL || carry != 0) { + int sum = carry; + if (l1 != NULL) { + sum += l1->val; + l1 = l1->next; + } + if (l2 != NULL) { + sum += l2->val; + l2 = l2->next; + } + + carry = sum / 10; + int val = sum % 10; + + struct ListNode* newNode = (struct ListNode*) malloc(sizeof(struct ListNode)); + newNode->val = val; + newNode->next = NULL; + curr->next = newNode; + curr = curr->next; + } + + struct ListNode* result = dummy->next; + free(dummy); + return result; } ``` From 6b22bb92025770a5dc3faee76932b9fc9956669d Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Fri, 23 May 2025 20:16:29 +0800 Subject: [PATCH 4/5] Update README_EN.md --- .../0002.Add Two Numbers/README_EN.md | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/solution/0000-0099/0002.Add Two Numbers/README_EN.md b/solution/0000-0099/0002.Add Two Numbers/README_EN.md index e9fc9a9bbbc8a..6274e8c2ad5e6 100644 --- a/solution/0000-0099/0002.Add Two Numbers/README_EN.md +++ b/solution/0000-0099/0002.Add Two Numbers/README_EN.md @@ -493,6 +493,7 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi #### C ```c + /** * Definition for singly-linked list. * struct ListNode { @@ -501,24 +502,20 @@ proc addTwoNumbers(l1: var SinglyLinkedList, l2: var SinglyLinkedList): SinglyLi * }; */ -struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) -{ - struct ListNode *dummy = (struct ListNode *)malloc(sizeof(struct ListNode)); +struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { + struct ListNode* dummy = (struct ListNode*) malloc(sizeof(struct ListNode)); dummy->val = 0; dummy->next = NULL; - struct ListNode *curr = dummy; + struct ListNode* curr = dummy; int carry = 0; - while (l1 != NULL || l2 != NULL || carry != 0) - { + while (l1 != NULL || l2 != NULL || carry != 0) { int sum = carry; - if (l1 != NULL) - { + if (l1 != NULL) { sum += l1->val; l1 = l1->next; } - if (l2 != NULL) - { + if (l2 != NULL) { sum += l2->val; l2 = l2->next; } @@ -526,14 +523,14 @@ struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) carry = sum / 10; int val = sum % 10; - struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); + struct ListNode* newNode = (struct ListNode*) malloc(sizeof(struct ListNode)); newNode->val = val; newNode->next = NULL; curr->next = newNode; curr = curr->next; } - struct ListNode *result = dummy->next; + struct ListNode* result = dummy->next; free(dummy); return result; } From bb9981e7b4757a58f0d5c035ec769a467ab3bfb1 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Fri, 23 May 2025 20:16:53 +0800 Subject: [PATCH 5/5] Update Solution.c --- solution/0000-0099/0002.Add Two Numbers/Solution.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solution/0000-0099/0002.Add Two Numbers/Solution.c b/solution/0000-0099/0002.Add Two Numbers/Solution.c index 08fd89cf9ded0..0ca00b4bd6752 100644 --- a/solution/0000-0099/0002.Add Two Numbers/Solution.c +++ b/solution/0000-0099/0002.Add Two Numbers/Solution.c @@ -1,3 +1,4 @@ + /** * Definition for singly-linked list. * struct ListNode { @@ -37,4 +38,4 @@ struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { struct ListNode* result = dummy->next; free(dummy); return result; -} \ No newline at end of file +}