当前位置: 首页 > article >正文

力扣每日一题66:加一

题目描述:

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。

示例 3:

输入:digits = [0]
输出:[1]

提示:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9

通过次数

676.5K

提交次数

1.5M

通过率

45.2%

思路和题解:

从数组的最后一位遍历到第一位。初始进位为0,把遍历的数字变成加上进位后对10取余,然后进位更新为加上进位后除10,循环完成后,如果进位不为零,则前面加上一个进位。

代码:

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int n=digits.size();
        vector<int> ans;
        int CF=1;
        for(int i=n-1;i>=0;i--)
        {
            int x=digits[i]+CF;
            ans.insert(ans.begin(),x%10);
            CF=x/10;
        }
        if(CF==1) ans.insert(ans.begin(),CF);
        return ans;
    }
};


http://www.kler.cn/a/103733.html

相关文章:

  • 嵌入式实时操作系统的设计与开发(消息)
  • 计算机服务器中了勒索病毒怎么解决,勒索病毒解密流程,数据恢复
  • 【ROS入门】机器人系统仿真——相关组件以及URDF集成Rviz
  • Java并发线程池原理源码深入分析与调优实战
  • MySQL Join 类型
  • 解决vite打包部署后需手动刷新才能加载新的内容!!!
  • C++初阶:C/C++内存管理
  • 如何构建一个外卖微信小程序
  • jenkins实践篇(1)——基于分支的自动发布
  • 基于Java的新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)
  • Hive安装配置笔记
  • vs2022 使用git同步报错以及解决每次推送要输入密码问题
  • 如何理解某一个开发框架的意图,从而去写和落代码文件位置不会出错
  • Debezium系列之:在K8s集群中部署Debezium Operator运行Debezium Server的详细步骤
  • Java学习 2.Java-数据类型与运算符
  • (三)(Driver)驱动开发之双机调试环境搭建及内核驱动的运行
  • 【JavaEE】网络编程---TCP数据报套接字编程
  • 13.4 DirectX内部劫持绘制
  • CentOS 7 安装Java环境
  • vue2中,下拉框多选和全选的实现