题目
Given a number represented as an array of digits, plus one to the number.
实现
数组 vector<int> 的地位存储number的高位。
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int len = digits.size();
if(len<=0)
return digits;
int aug = 1;
for(int i=len-1;i>=0;i--)
{
int sum = digits[i]+aug;
digits[i] = sum%10;
aug = sum/10;
}
if(aug)
digits.insert(digits.begin(),aug);
return digits;
}
};
注意:
vector.push_back(a) , list.push_back(a) , deque.push_back(a) 在后面插入;
但是 只有 list.push_front(a) , deque.push_front(a); 可以在前端插入;而 vector没有 push_front() 成员函数;
但是我们可以用insert 成员函数来实现。
vector<int > avec; avec.insert(avec.begin(),a); 在前端插入;同理 list 和 deque 也有该成员函数。