LeetCode 66 加一[数学] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 66 加一[数学] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
一道看似麻烦,其实很简单的数学题,如果你陷入了加一进位的误区,想着不断试探是否可以进位,进位了下一位再如何的问题,那就麻烦了,你只需想到最后一个不为9的数,那么将其加一,后面的全部变成0即可,问题就轻松化解了,至于全是9的情况,你只需要重新构建一个vector,长度为之前的+1,第一位为1即可,代码如下:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int len = digits.size();
for(int i = len - 1; i >= 0; i --) {
if(digits[i] != 9) {
++ digits[i];
for(int j = i + 1; j < len; j ++) {
digits[j] = 0;
}
return digits;
}
}
vector<int> ans(len + 1);
ans[0] = 1;
return ans;
}
};
以上是关于LeetCode 66 加一[数学] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章