【Leetcode】66. Plus One
@(Leetcode)
题目链接:
https://leetcode.com/problems/plus-one/description/
代码:
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int n = digits.size();
for (int i = n - 1; i >= 0; --i) {
if (digits[i] == 9) digits[i] = 0;
else {
digits[i] += 1;
return digits;
}
}
if (digits.front() == 0) digits.insert(digits.begin(), 1);
return digits;
}
};
一开始发现自己想太复杂了,只有两种情况是9或者不是9,是9就变为0,进入下次循环后进位+1然后返回;不是9就直接进位返回。最后只要处理头部为0进位就可以了。
精髓是else里面的return digits。
本文提供了一个简洁的 C++ 解决方案来解决 LeetCode 上的 PlusOne 问题。通过判断数组中的每个数字是否为 9 来决定加一操作的方式,实现了数字数组加一的功能,并特别处理了首位为0的情况。
601

被折叠的 条评论
为什么被折叠?



