File tree Expand file tree Collapse file tree 1 file changed +13
-22
lines changed
leetcode/0002.Add-Two-Numbers Expand file tree Collapse file tree 1 file changed +13
-22
lines changed Original file line number Diff line number Diff line change @@ -16,36 +16,27 @@ type ListNode = structures.ListNode
1616 */
1717
1818func addTwoNumbers (l1 * ListNode , l2 * ListNode ) * ListNode {
19- if l1 == nil || l2 == nil {
20- return nil
21- }
22- head := & ListNode {Val : 0 , Next : nil }
19+ head := & ListNode {Val : 0 }
2320 current := head
24- carry := 0
25- for l1 != nil || l2 != nil {
26- var x , y int
21+
22+ var n1 , n2 , carry int
23+ for l1 != nil || l2 != nil || carry != 0 {
2724 if l1 == nil {
28- x = 0
25+ n1 = 0
2926 } else {
30- x = l1 .Val
27+ n1 = l1 .Val
28+ l1 = l1 .Next
3129 }
3230 if l2 == nil {
33- y = 0
31+ n2 = 0
3432 } else {
35- y = l2 .Val
36- }
37- current .Next = & ListNode {Val : (x + y + carry ) % 10 , Next : nil }
38- current = current .Next
39- carry = (x + y + carry ) / 10
40- if l1 != nil {
41- l1 = l1 .Next
42- }
43- if l2 != nil {
33+ n2 = l2 .Val
4434 l2 = l2 .Next
4535 }
36+ current .Next = & ListNode {Val : (n1 + n2 + carry ) % 10 }
37+ current = current .Next
38+ carry = (n1 + n2 + carry ) / 10
4639 }
47- if carry > 0 {
48- current .Next = & ListNode {Val : carry % 10 , Next : nil }
49- }
40+
5041 return head .Next
5142}
You can’t perform that action at this time.
0 commit comments