Leetcode刷题笔记题解(C++):66. 加一

Leetcode刷题笔记题解(C++):66. 加一_第1张图片

思路:分为两种情况 

1.没有进位,直接+完就完,比如46+1=47

2.有进位而且还需要扩展一位,比如99+1=100

 

代码如下:

class Solution {
public:
    vector plusOne(vector& digits) {
        int jinwei=1;
        for(int i=digits.size()-1;i>=0;i--){
            int temp=digits[i];
            digits[i]=(temp+jinwei)%10;
            jinwei=(temp+jinwei)/10;
        }
        //如果加完之后还有进位,则需要新建数组进行加一位
        if(jinwei==1){
            vectorres(digits.size()+1);
            res[0]=1;
            for(int i=0;i

还有种思路就是把数组转换为数字,计算 完成之后再转换为数组,想想都比较头疼,可以试试哈。

你可能感兴趣的:(Leetcode算法题解,c++,leetcode,数据结构)