Skip to content

Commit a1c6216

Browse files
committed
feat(leetcode): add No.2
1 parent fabd97e commit a1c6216

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

2.Add-Two-Numbers.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# https://leetcode.com/problems/add-two-numbers/
2+
#
3+
# algorithms
4+
# Medium (31.07%)
5+
# Total Accepted: 864,234
6+
# Total Submissions: 2,781,507
7+
8+
9+
# Definition for singly-linked list.
10+
# class ListNode(object):
11+
# def __init__(self, x):
12+
# self.val = x
13+
# self.next = None
14+
15+
class Solution(object):
16+
def addTwoNumbers(self, l1, l2):
17+
"""
18+
:type l1: ListNode
19+
:type l2: ListNode
20+
:rtype: ListNode
21+
"""
22+
if not l1:
23+
return l2
24+
if not l2:
25+
return l1
26+
27+
res = l1
28+
pre = None
29+
30+
carry = 0
31+
while l1 and l2:
32+
l1.val = l1.val + l2.val + carry
33+
if l1.val >= 10:
34+
carry = 1
35+
l1.val -= 10
36+
else:
37+
carry = 0
38+
pre = l1
39+
l1 = l1.next
40+
l2 = l2.next
41+
42+
if l2:
43+
pre.next = l2
44+
l1 = l2
45+
46+
while l1:
47+
l1.val += carry
48+
if l1.val >= 10:
49+
carry = 1
50+
l1.val -= 10
51+
else:
52+
carry = 0
53+
pre = l1
54+
l1 = l1.next
55+
56+
if carry == 1:
57+
pre.next = ListNode(1)
58+
59+
return res
60+

0 commit comments

Comments
 (0)