题意:

image.png

解题思路:

  1. 思路:从后向前,对应的位置的数字相加,如果结果大于 9,需要进位;

PHP代码实现:

  1. class Solution {
  2. function plusOne($digits) {
  3. for ($i = count($digits) - 1; $i >= 0; $i--) {
  4. if ($digits[$i] < 9) {
  5. $digits[$i] += 1;
  6. return $digits;
  7. } else {
  8. $digits[$i] = 0;
  9. }
  10. }
  11. array_unshift($digits, 1);
  12. return $digits;
  13. }
  14. function plusOne1($digits) {
  15. for ($i = count($digits) - 1; $i >= 0; $i--) {
  16. $digits[$i] += 1;
  17. if ($digits[$i] < 10) {
  18. return $digits;
  19. } else {
  20. $digits[$i] = 0;
  21. }
  22. }
  23. array_unshift($digits, 1);
  24. return $digits;
  25. }
  26. }

GO代码实现:

  1. func plusOne(digits []int) []int {
  2. for i := len(digits) - 1; i >= 0; i-- {
  3. if digits[i] < 9 {
  4. digits[i]++
  5. return digits
  6. } else {
  7. digits[i] = 0
  8. }
  9. }
  10. //return append([]int{1}, digits...)
  11. digits[0] = 1
  12. digits = append(digits, 0)
  13. return digits
  14. }