Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save codertcet111/572a27b361a4a309d3ed620554a3cdb2 to your computer and use it in GitHub Desktop.
Save codertcet111/572a27b361a4a309d3ed620554a3cdb2 to your computer and use it in GitHub Desktop.
Leetcode 2: Add two numbers linkedlist
Leetcode 2: Add two numbers linkedlist
# Definition for singly-linked list.
# class ListNode
# attr_accessor :val, :next
# def initialize(val = 0, _next = nil)
# @val = val
# @next = _next
# end
# end
# @param {ListNode} l1
# @param {ListNode} l2
# @return {ListNode}
def add_two_numbers(l1, l2)
carry = 0
curr_list = ListNode.new
return_list = curr_list
while (l1!=nil && l2!=nil) do
t_sum = l1.val + l2.val + carry
if t_sum > 9
curr_list.val = t_sum%10
carry = 1
else
curr_list.val = t_sum
carry = 0
end
l1=l1.next
l2=l2.next
if l1 || l2
curr_list.next = ListNode.new
curr_list = curr_list.next
end
end
while (l1!=nil) do
t_sum = l1.val + carry
if t_sum > 9
curr_list.val = t_sum%10
carry = 1
else
curr_list.val = t_sum
carry = 0
end
if l1=l1.next
curr_list.next = ListNode.new
curr_list = curr_list.next
end
end
while (l2!=nil) do
t_sum = l2.val + carry
if t_sum > 9
curr_list.val = t_sum%10
carry = 1
else
curr_list.val = t_sum
carry = 0
end
if l2=l2.next
curr_list.next = ListNode.new
curr_list = curr_list.next
end
end
if carry == 1
curr_list.next = ListNode.new
curr_list = curr_list.next
curr_list.val = 1
end
return return_list
# (0..[l1.count, l2.count].max).each do |i|
# if l1[i] && l2[i]
# t_sum = l1[i] + l2[i] + carry
# if t_sum > 9
# out_arr << t_sum%10
# carry = 1
# else
# out_arr << t_sum
# carry = 0
# end
# elsif l1[i]
# t_sum = l1[i] + carry
# if t_sum > 9
# out_arr << t_sum%10
# carry = 1
# else
# out_arr << t_sum
# carry = 0
# end
# elsif l2[i]
# t_sum = l2[i] + carry
# if t_sum > 9
# out_arr << t_sum%10
# carry = 1
# else
# out_arr << t_sum
# carry = 0
# end
# end
# end
#carry == 1 ? (out_arr << carry) : out_arr
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment