forked from shuboc/LeetCode-2
-
Notifications
You must be signed in to change notification settings - Fork 1
/
plus-one.py
36 lines (30 loc) · 886 Bytes
/
plus-one.py
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
# Time: O(n)
# Space: O(1)
#
# Given a non-negative number represented as an array of digits, plus one to the number.
#
# The digits are stored such that the most significant digit is at the head of the list.
class Solution:
"""
:type digits: List[int]
:rtype: List[int]
"""
def plusOne(self, digits):
carry = 1
for i in reversed(xrange(len(digits))):
digits[i] += carry
carry = digits[i] / 10
digits[i] %= 10
if carry:
digits = [1] + digits
return digits
def plusOne2(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
digits = [str(x) for x in digits]
num = int(''.join(digits)) + 1
return [int(x) for x in str(num)]
if __name__ == "__main__":
print Solution().plusOne([9, 9, 9, 9])