leedcode 加一

自己写的

class Solution:
    def plusOne(self, digits) :
        digits_len=len(digits)
        if digits[-1]!=9:
            digits[-1]=digits[-1]+1
            return digits
        if digits[-1]==9:
            digits_str=str()
            for i in range(digits_len):
                digits_str+=str(digits[i])
                digits_int=int(digits_str)

            digits_int+=1
            digits_str=str(digits_int)
            digits_str_len=len(digits_str)
            digits_int_list=list()
            for i in range(digits_str_len):
                digits_int_list.append(int(digits_str[i]))

            return digits_int_list

 gpt写的

class Solution:
    def plusOne(self, digits):
        # 检查最后一位是否为9
        if digits[-1] != 9:
            digits[-1] += 1
            return digits

        # 如果最后一位是9,加1并传递进位
        carry = 1
        for i in range(len(digits) - 1, -1, -1):
            digits[i] += carry
            carry = digits[i] // 10
            digits[i] %= 10

        # 如果循环后仍有进位,将其插入到列表的开头
        if carry:
            digits.insert(0, carry)

        return digits

# 示例用法:
sol = Solution()
result = sol.plusOne([9, 9, 9])
print(result)

 

posted @ 2024-01-23 17:10  Junior_bond  阅读(7)  评论(0)    收藏  举报