Skip to content

Commit 05c25bc

Browse files
committed
add-two-numbers.rb
1 parent fbd78a9 commit 05c25bc

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Definition for singly-linked list.
2+
# class ListNode
3+
# attr_accessor :val, :next
4+
# def initialize(val = 0, _next = nil)
5+
# @val = val
6+
# @next = _next
7+
# end
8+
# end
9+
10+
# @param {ListNode} l1
11+
# @param {ListNode} l2
12+
# @return {ListNode}
13+
def add_two_numbers(l1, l2)
14+
dummy = ListNode.new(0)
15+
current = dummy
16+
carry = 0
17+
18+
while l1 || l2 || carry != 0
19+
sum = carry
20+
if l1
21+
sum += l1.val
22+
l1 = l1.next
23+
end
24+
if l2
25+
sum += l2.val
26+
l2 = l2.next
27+
end
28+
29+
carry = sum / 10
30+
sum = sum % 10
31+
current.next = ListNode.new(sum)
32+
current = current.next
33+
end
34+
35+
dummy.next
36+
end

0 commit comments

Comments
 (0)