首页 > 其他分享 >LeetCode刷题(12)~加一

LeetCode刷题(12)~加一

时间:2023-01-12 15:40:20浏览次数:60  
标签:digits 加一 12 return int len vector 数组 LeetCode


题目描述

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

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

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

示例 1:

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

示例 2:

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

解答

提交代码

class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int len=digits.size();
for(int i=len-1;i>=0;--i)
{
++digits[i];
digits[i]%=10;
if(digits[i]!=0) return digits;
}
digits.resize(len+1,0);
digits[0]=1;
return digits;
}
};

运行结果

LeetCode刷题(12)~加一_leetcode


c++测试代码

#include<iostream>
#include<vector>
using namespace std;
vector<int> plusOne(vector<int>& digits) {
int len=digits.size();
for(int i=len-1;i>=0;--i)
{
++digits[i];
digits[i]%=10;
if(digits[i]!=0) return digits;
}
digits.resize(len+1,0);
digits[0]=1;
return digits;
}
int main()
{
vector<int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
vector<int> b=plusOne(a);
for(int i=0;i<b.size();++i)
cout<<b[i];
cout<<endl;

return 0;
}

思路
        ​​​传送门

标签:digits,加一,12,return,int,len,vector,数组,LeetCode
From: https://blog.51cto.com/u_15939722/6004339

相关文章

  • LeetCode刷题(10)~只出现一次的数字
    题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外......
  • LeetCode刷题(11)~ 两个数组的交集 II
    题目描述给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2,2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[4,9]......
  • LeetCode刷题(9)~存在重复元素
    题目描述给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。示例1:输入:[1,2,3,1]输......
  • LeetCode刷题(8)~旋转数组
    题目描述给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例1:输入:[1,2,3,4,5,6,7]和k=3输出:[5,6,7,1,2,3,4]解释:向右旋转1步:[7,1,2,3,4,5,6......
  • LeetCode刷题(7)~删除排序数组中的重复项
    题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用......
  • LeetCode刷题(4)~ 最长公共前缀
    题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。示例1:输入:[“flower”,“flow”,“flight”]输出:“fl”示例2:输......
  • LeetCode报错:Line 923: Char 9: runtime error: reference binding to null pointer o
    LeetCode报错报错原因:Line923:Char9:runtimeerror:referencebindingtonullpointeroftype‘std::__cxx11::basic_string<char,std::char_traits,std::alloca......
  • LeetCode刷题(2)~回文数
    题目描述        判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例1:输入:121输出:true示例2:输入:-121输出:false......
  • LeetCode刷题(1)~整数反转
    题目描述给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入:123输出:321示例2:输入:-123输出:-321示例3:输入:120输出:21注意:假......
  • LeetCode刷题(59)~使数组中所有元素相等的最小操作数【第202场周赛:题目二】
    题目描述存在一个长度为n的数组arr,其中arr[i]=(2*i)+1(0<=i<n)。一次操作中,你可以选出两个下标,记作x和y(0<=x,y<n)并使arr[x]减去1、arr[y]......