Good evening! Here's our prompt for today.
We're provided the following two linked lists:
1 -> 2 -> 3 -> 4
and 2 -> 5 -> 8
Each one represents a number in reversed order, so 1 -> 2 -> 3 -> 4
represents 4321
and 2 -> 5 -> 8
represents 852
(note: for an extra challenge, consider if they weren't reversed).
The lists are guaranteed to have at least one node and will not have any leading 0
s. Each of the nodes contain a single digit.
Can you write a method to add the two numbers and return it as another linked list?

JAVASCRIPT
1// list1: 1 -> 2 -> 3 ->4
2// list2: 2 -> 5 -> 8
3
4addLLNums(list1, list2);
5// should return 3 -> 7 -> 1 -> 5
6// 4321 + 852 = 5173

Constraints
- Length of both linked lists
list1
,list2
<=100000
- Value stored in each node is between
0
and9
- Make sure that you have to return a linked list and not a number
- Expected time complexity :
O(n)
- Expected space complexity :
O(n)
Try to solve this here or in Interactive Mode.
How do I practice this challenge?
xxxxxxxxxx
92
​
# function to add the numbers of two linked list
​
​
def add_numbers(list1, list2):
# fill in this method
​
return list1
​
​
class Node:
def __init__(self, val):
self.val = val
self.next = None
​
​
class LinkedList:
def __init__(self):
self.head = None
​
# function to insert the node at the beginning
​
def push(self, value):
node = Node(value)
node.next = self.head
self.head = node
​
# Utility function to print the linked LinkedList
​
def printList(self):
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment
Here's our guided, illustrated walk-through.
How do I use this guide?
Access all course materials today
The rest of this tutorial's contents are only available for premium members. Please explore your options at the link below.