Skip to content

Commit 8075f06

Browse files
authored
精简代码
1 parent 5e6111e commit 8075f06

File tree

1 file changed

+13
-22
lines changed

1 file changed

+13
-22
lines changed

leetcode/0002.Add-Two-Numbers/2. Add Two Numbers.go

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,27 @@ type ListNode = structures.ListNode
1616
*/
1717

1818
func 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
}

0 commit comments

Comments
 (0)