Leetcode 高精度 Plus One

2015-07-20 17:48:29 · 作者: · 浏览: 4

?

?

Plus One

Total Accepted: 17614 Total Submissions: 55852My Submissions

?

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.


?

题意:给定一个由数组表示大整数,数组的每一个元素对应该数的十进制表示的每一位,对该数进行加 1 操作
思路:高精度加法
复杂度:时间:O(n)

?

vector
  
    plusOne(vector
   
     &digits){ int carry = 1; for(auto it = digits.rbegin(); it != digits.rend(); ++it){ int tmp = *it + carry; *it = tmp % 10; carry = tmp / 10; if(!carry) break; } if(carry) digits.insert(digits.begin(), carry); return digits; }
   
  


?