leetcode66:加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
=========Python=========
class Solution: def plusOne(self, digits: List[int]) -> List[int]: i = len(digits) - 1 carry = 1 while i >= 0: if digits[i] + carry > 9: digits[i], carry = (digits[i] + carry) % 10, (digits[i] + carry) // 10 else: digits[i] += carry carry = 0 break i -= 1 if carry > 0: return [carry] + digits else: return digits
==========Go==========
func plusOne(digits []int) []int { var result []int carry := 0 for i := len(digits) - 1; i >= 0; i--{ digits[i] += carry carry = 0 if i == len(digits) - 1{ digits[i] ++ } if digits[i] == 10{ carry = 1 digits[i] = digits[i] % 10 } } if carry == 1{ result = make([]int, 1) result[0] = 1 result = append(result, digits...) } else { result = digits } return result }