From 8cf171c92fceca8b437de77812bde1dd37c5df21 Mon Sep 17 00:00:00 2001 From: Ashutosh <106524453+Ashutosh741@users.noreply.github.com> Date: Thu, 13 Oct 2022 18:14:32 +0530 Subject: [PATCH] Create Add Two Numbers.cpp --- CPP/LinkedList/Add Two Numbers.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 CPP/LinkedList/Add Two Numbers.cpp diff --git a/CPP/LinkedList/Add Two Numbers.cpp b/CPP/LinkedList/Add Two Numbers.cpp new file mode 100644 index 00000000..770d3fba --- /dev/null +++ b/CPP/LinkedList/Add Two Numbers.cpp @@ -0,0 +1,16 @@ +class Solution { +public: + ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) { + ListNode preHead(0), *p = &preHead; + int extra = 0; + while (l1 || l2 || extra) { + int sum = (l1 ? l1->val : 0) + (l2 ? l2->val : 0) + extra; + extra = sum / 10; + p->next = new ListNode(sum % 10); + p = p->next; + l1 = l1 ? l1->next : l1; + l2 = l2 ? l2->next : l2; + } + return preHead.next; +} +};