关闭

leetcode #66 in cpp

标签: cppleetcode
42人阅读 评论(0) 收藏 举报
分类:

Solution: 

1.start from the tail of the input, and keep adding 1 until we reach the head of the input or the digit + 1 is less than 10. 

2.check if the head >= 10. If so insert an extra 1 to the input.

Code:

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int i = digits.size() - 1;
        int carry = 1;
        while(carry && i >=0){
            digits[i]+=carry;
            if(digits[i] >=10){
                carry = 1;
                digits[i]%=10;
            }else carry = 0;
            i--;
        }
        if(carry){
            digits.insert(digits.begin(), 1);
        }
        return digits;
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7004次
    • 积分:1393
    • 等级:
    • 排名:千里之外
    • 原创:139篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档