[LeetCode] 66. Plus One
题目链接:传送门
Description
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
Solution
题意:
实现高精度加法的加1操作
思路:
直接就倒过来做了,加1判进位
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
reverse(digits.begin(), digits.end());
int add = 0;
for (int i = 0; i < digits.size(); i++) {
add = (digits[i] + 1 >= 10);
digits[i] = (digits[i] + 1) % 10;
if (!add) break;
}
if (add) digits.push_back(1);
reverse(digits.begin(), digits.end());
return digits;
}
};