forked from ChienJuiLin/leetcode_heprecsler
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathleetCode_l1-3.py
More file actions
52 lines (44 loc) · 1.19 KB
/
leetCode_l1-3.py
File metadata and controls
52 lines (44 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class Solution:
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
r_digits = digits[::-1]
carry = 0
r_digits[0] = r_digits[0] + 1
if r_digits[0] >= 10:
r_digits[0] = 0
carry = 1
n = 1
while carry != 0:
if n < len(r_digits):
r_digits[n] = r_digits[n] + 1
if r_digits[n] == 10:
r_digits[n] = 0
carry = 1
n = n + 1
else:
carry = 0
else:
r_digits.append(1)
carry = 0
return r_digits[::-1]
# 最後一行直接從前面加挺快的
'''
class Solution:
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
carry = 0
for i in range(len(digits)-1, -1, -1):
sum = digits[i]
if i == len(digits) - 1: sum += 1
else: sum += carry
digits[i] = sum % 10
carry = int(sum / 10)
if carry == 0: break
return digits if carry == 0 else [1] + digits
'''