LeetCode:Plus One

2015-07-20 17:22:29 · 作者: · 浏览: 7

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.


// https://oj.leetcode.com/problems/plus-one/
// Author : Chao Zeng
// Date   : 2015-1-29
class Solution {
public:
    vector
  
    plusOne(vector
   
     &digits) { vector 
    
      numbers; reverse(digits.begin(),digits.end()); int length = digits.size(); digits[0]++; int temp; for (int i = 0; i < length; i++){ //注意语句的顺序 temp = digits[i] / 10; digits[i] = digits[i] % 10; numbers.push_back(digits[i]); //进位的处理 if (i == length - 1 && temp > 0){ numbers.push_back(temp); } else{ digits[i+1] = digits[i+1] + temp; } } reverse(numbers.begin(),numbers.end()); return numbers; } };