407. 加一

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
样例
给定 [1,2,3] 表示 123, 返回 [1,2,4].
给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

加和进位分开处理

先给最后一位加上1,然后再从后往前遍历处理进位,最高位如果还有进位的话就先push_back一个1进入结果。

vector<int> plusOne(vector<int> &digits) {
        vector<int> res;
        *(digits.end()-1)+=1;   //先把1加上,然后再处理进位
      
        for(auto end=digits.end()-1;end!=digits.begin();end--)
        {
            if(*end>=10)
            {
                *end=*end%10;   //当前为取余
                *(end-1)+=1;    //前一位加1
        
            }
        }
        if(*digits.begin()>=10)
        {
            *digits.begin()%=10;
            res.push_back(1);
        }
        
        for(auto d:digits)
        {
            res.push_back(d);
        }
        return res;
        // write your code here
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目 描述 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的...
    悠扬前奏阅读 2,778评论 3 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,364评论 0 33
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,906评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,273评论 19 139
  • 如果世界是一间小屋,关爱就是小屋中的一扇窗;如果世界是一艘船,那么关爱就是茫茫大海上的一盏明灯;如果世界是一张...
    被偷的时光阅读 2,532评论 0 0

友情链接更多精彩内容