昨天加班到一点,今天头晕晕的。今天的题
说实话,拿到题我都没看懂,看了例子我以为就是末尾加一,我想这么简单,然后一写,发现还有进一的机制。又写了判断当数字大于等于10时,前一位加一,后一位取余。写完自信提交,又错了,哭了。没办法看了眼评论,原来还有【9,9】【9,9,9】这种,最后代码如下,当列表第一位大于等于10时,列表和【1】拼接,第二位取余
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
digits[-1] += 1
for i in range(len(digits)-2,-1,-1):
if digits[i+1] >= 10:
digits[i+1] = 0
digits[i] += 1
else:
break
if digits[0] >= 10:
digits = [1] + digits
digits[1] %= digits[1]
return digits