论坛首页 入门技术论坛

[LeetCode] Plus One

浏览 1667 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-05-04  

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

水题,练手感。

class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        int *a = new int[digits.size()+1];
        memset(a, 0, digits.size()+1);
        int ret = 1, cur = 0;
        for (int i = digits.size() -1 ; i >= 0; i--) {
            if (digits[i] + ret == 10) a[cur++] = 0, ret = 1;
            else {a[cur++] = digits[i]+ret; ret = 0;}
        }
        if (ret == 1) a[cur++] = 1;
        vector<int> res;
        cur --;
        while (cur >=0) res.push_back(a[cur--]);
        return res;
    }
};

 

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics