博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Plus One
阅读量:6077 次
发布时间:2019-06-20

本文共 1227 字,大约阅读时间需要 4 分钟。

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.

题目:

给定一个十进制数,用数组表示每一位,要求返回加一后的结果

思路:

从数组尾部到头部处理,需要判断是否最后要进位,如果要进位需要在vector的最前面插入1.

 

C++代码如下:

#include
#include
using namespace std;class Solution {public: vector
plusOne(vector
&digits) { int size=digits.size()-1; while(size>=0) { if(digits[size]<9) { digits[size]+=1; break; } else { digits[size]=0; size--; } } size++; if(size==0&&digits[size]==0) { digits.insert(digits.begin(),1); } return digits; } void Convert(int num,vector
&digits) { if(num>=10) Convert(num/10,digits); digits.push_back(num%10); }};int main(){ vector
digits; int num; cin>>num; Solution s; s.Convert(num,digits); for(auto v:digits) cout<
<<" "; cout<

运行结果:

 

转载地址:http://ohxgx.baihongyu.com/

你可能感兴趣的文章
常用设计模式 Java 实现
查看>>
APP测试中工程师应注意哪些事项-干货分享!
查看>>
pyhanlp 两种依存句法分类器
查看>>
report widget not working for external users
查看>>
MySQL增量备份与恢复
查看>>
基于springCloud的分布式架构体系
查看>>
使用lombok编写优雅的Bean对象
查看>>
hive的常见函数
查看>>
选对了行业,少奋斗十年,你选对了吗?
查看>>
mongodb
查看>>
Web前端自学之路学习路线,web前端开发网站
查看>>
[Java] 炼数深入浅出Spring企业框架实战
查看>>
日志文件怎么玩——了解一下Python中的logging模块
查看>>
linux高级数据存储
查看>>
C++简单单向链表实现
查看>>
使用Tenorshare UltData for Mac如何从iCloud备份还原数据
查看>>
区块链+人工智能,如何颠覆我们已知生活
查看>>
完全恢复执行和留在rollup例子
查看>>
number 待做截取处理的数值
查看>>
Oracle教程之Oracle管理索引(七)--Oracle显示索引信息
查看>>