Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5bc6a62

Browse files
committed
add a solution of a issue#2
0 parents  commit 5bc6a62

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

2/add_two_numbers.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Definition for singly-linked list.
2+
# class ListNode
3+
# attr_accessor :val, :next
4+
# def initialize(val)
5+
# @val = val
6+
# @next = nil
7+
# end
8+
# end
9+
10+
# @param {ListNode} l1
11+
# @param {ListNode} l2
12+
# @return {ListNode}
13+
def add_two_numbers(l1, l2)
14+
ll_common = ListNode.new(nil)
15+
ll = ll_common
16+
next_is_present = true
17+
while next_is_present
18+
next_is_present = l1&.next || l2&.next
19+
ll_val = l1&.val.to_i + l2&.val.to_i + ll&.val.to_i
20+
int = ll_val/10
21+
22+
ll.val = int > 0 ? ll_val - 10 : ll_val
23+
ll.next = ListNode.new(int) if next_is_present || int > 0
24+
25+
l1 = l1.next if l1
26+
l2 = l2.next if l2
27+
ll = ll.next
28+
end
29+
ll_common
30+
end

0 commit comments

Comments
 (0)