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

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

两种就解法。

1.简单(投机取巧,充分利用题目中仅仅加1)

class Solution {public:    vector
plusOne(vector
& digits) { //题目中有说非空数组因此不用另外判断 int len=digits.size(); for(int i=len-1;i>=0;i--) { if(digits[i]==9) digits[i]=0;//只有全是9才能进位最高位,即多一位 else { digits[i]++; return digits; } } digits[0]=1; digits.push_back(0);//全是9才会走到这一步才进行处理把高位变1,多加一位0,题目中说到了最高为放在数组的前面 return digits; }};

2.第二种,通用解法,可以吧C换成更大的数。

class Solution {public:    vector
plusOne(vector
& digits) { //题目中有说非空数组因此不用另外判断 int len=digits.size(); int sum; int c=1;//储存了从后一位进位来的数 for(int i=len-1;i>=0;i--) { sum=digits[i]+c; digits[i]=sum%10; c=sum/10; } if(c==1) //再大得数最高位进位也得是1 digits.insert(digits.begin(),1); return digits; }};

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

你可能感兴趣的文章
Spring框架中在并发访问时的线程安全性
查看>>
网站部署
查看>>
什么情况下会发生栈内存溢出。
查看>>
何为去中心化
查看>>
本地缓存的优缺点
查看>>
缓存一致性:写策略
查看>>
Cache一致性:MESI
查看>>
缓存一致性:写未命中
查看>>
为什么用中间位作为组索引
查看>>
缓存:局部性
查看>>
mysql原理:b+树索引
查看>>
mysql原理:最左原则
查看>>
mysql原理:join标到底是什么,为什么有军规不建议超过三个
查看>>
redis缓存穿透
查看>>
redis缓存雪崩
查看>>
mysql的事务隔离
查看>>
mvc架构
查看>>
ElasticSearch(0) ES的认识
查看>>
JPA入门
查看>>
JPA关系
查看>>