lc-go/solutions/0/q2/solution.go
2026-01-15 14:57:22 +09:00

35 lines
516 B
Go

package q2
type ListNode struct {
Val int
Next *ListNode
}
func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
retRoot := &ListNode{}
p := retRoot
carry := 0
for l1 != nil || l2 != nil {
val := carry
if l1 != nil {
val += l1.Val
l1 = l1.Next
}
if l2 != nil {
val += l2.Val
l2 = l2.Next
}
carry, val = val/10, val%10
node := &ListNode{Val: val}
p.Next = node
p = node
}
if carry > 0 {
p.Next = &ListNode{Val: carry}
}
return retRoot.Next
}
var _ = addTwoNumbers