1. 概述

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

2. 解题

  1. <?php
  2. class Solution {
  3. /**
  4. * @param Integer[] $digits
  5. * @return Integer[]
  6. */
  7. public function plusOne($digits) {
  8. $carry = 1;
  9. for ($i = count($digits) - 1; $i >= 0; $i--) {
  10. if (!$carry) {
  11. break;
  12. }
  13. if ($digits[$i] + 1 == 10) {
  14. $digits[$i] = 0;
  15. ($i == 0) && array_unshift($digits, 1);
  16. } else {
  17. $digits[$i] += 1;
  18. $carry = 0;
  19. }
  20. }
  21. return $digits;
  22. }
  23. }
  24. $digits = [9,9,9];
  25. $cls = new Solution();
  26. $r = $cls->plusOne($digits);
  27. echo implode('', $digits);
  28. echo "\n";
  29. echo implode('', $r);