package main // just like "add two numbers" func plusOne(digits []int) []int { i, remain := len(digits)-1, 0 for digits[len(digits)-1] = digits[len(digits)-1] + 1; i >= 0; i-- { digits[i] += remain remain = int(digits[i] / 10) digits[i] %= 10 } // way to concat two slice: append(a, b...) if remain == 1 { return append([]int{1}, digits...) } return digits }