代码改变世界

Plus One

2015-03-17 09:21  笨笨的老兔子  阅读(174)  评论(0编辑  收藏  举报

大整数加法,只要加一
就是一道模拟题,注意都是9的情况前面需要补一位

  1. class Solution {
  2. public:
  3. vector<int> plusOne(vector<int> &digits) {
  4. int carry = 1;
  5. int index = digits.size() - 1;
  6. while (carry ==1 && index >=0)
  7. {
  8. if (digits[index] == 9)
  9. {
  10. digits[index] = 0;
  11. carry = 1;
  12. index--;
  13. }
  14. else
  15. {
  16. digits[index] += 1;
  17. carry = 0;
  18. }
  19. }
  20. if (index < 0)
  21. {
  22. vector<int> res;
  23. res.push_back(1);
  24. for (size_t i = 0; i < digits.size(); i++)
  25. {
  26. res.push_back(digits[i]);
  27. }
  28. digits = res;
  29. }
  30. return digits;
  31. }
  32. };