# Javascript Program To Add Two Numbers Represented By Linked Lists- Set 1

Last Updated : 20 Dec, 2021

Given two numbers represented by two lists, write a function that returns the sum list. The sum list is a list representation of the addition of two input numbers.

Example:

```Input:Â List1: 5->6->3 // represents number 563Â List2: 8->4->2 // represents number 842Â Output:Â Resultant list: 1->4->0->5 // represents number 1405Â Explanation: 563 + 842 = 1405

Input:Â List1: 7->5->9->4->6 // represents number 75946List2: 8->4 // represents number 84Output:Â Resultant list: 7->6->0->3->0// represents number 76030Explanation: 75946+84=76030
```

Approach: Traverse both lists and One by one pick nodes of both lists and add the values. If the sum is more than 10 then make carry as 1 and reduce sum. If one list has more elements than the other then consider the remaining values of this list as 0.Â

The steps are:Â

1. Traverse the two linked lists from start to end
3. If one of the lists has reached the end then take 0 as its digit.
4. Continue it until both the end of the lists.
5. If the sum of two digits is greater than 9 then set carry as 1 and the current digit as sum % 10

Below is the implementation of this approach.Â

## Javascript

 ` `

Output:

```First List is 7 5 9 4 6
Second List is 8 4
Resultant list is 5 0 0 5 6 ```

Complexity Analysis:Â

• Time Complexity: O(m + n), where m and n are numbers of nodes in first and second lists respectively.Â
The lists need to be traversed only once.
• Space Complexity: O(m + n).Â
A temporary linked list is needed to store the output number

Related Article: Add two numbers represented by linked lists | Set 2

Please refer complete article on Add two numbers represented by linked lists | Set 1 for more details!

Previous
Next