Skip to content

Commit

Permalink
Solution for Add Two Numbers LeetCode Problem in Go
Browse files Browse the repository at this point in the history
  • Loading branch information
gruiz90 committed Oct 13, 2020
1 parent fa345d8 commit 6fb7bb1
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions GO/add_two_numbers.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Link: https://leetcode.com/problems/add-two-numbers/
package main

type ListNode struct {
Val int
Next *ListNode
}

func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
sol := new(ListNode)
var indexSol *ListNode
pass1 := false

for {
sum := 0
if l1 != nil || l2 != nil {
if l1 != nil {
sum = l1.Val
l1 = l1.Next
}
if l2 != nil {
sum += l2.Val
l2 = l2.Next
}
} else if !pass1 {
break
}

if pass1 {
sum++
}
if sum > 9 {
pass1 = true
} else {
pass1 = false
}

var val = sum % 10
if indexSol == nil {
sol.Val = val
indexSol = sol
} else {
indexSol.Next = &ListNode{Val: val}
indexSol = indexSol.Next
}
}

return sol
}

0 comments on commit 6fb7bb1

Please sign in to comment.