17.go 457 B

1234567891011121314151617181920
  1. package main
  2. import (
  3. "strings"
  4. "fmt"
  5. "math"
  6. )
  7. // just like "add two numbers"
  8. func plusOne(digits []int) []int {
  9. i, remain := len(digits) - 1, 0
  10. for digits[len(digits) - 1] = digits[len(digits) - 1] + 1; i >= 0; i-- {
  11. digits[i] += remain
  12. remain = int(digits[i] / 10)
  13. digits[i] %= 10
  14. }
  15. // way to concat two slice: append(a, b...)
  16. if remain == 1 { return append([]int{1}, digits...) }
  17. return digits
  18. }