1. 问题
给定一个整数(已拆分为各个元素存于数组),然后对该数值加1
2. solution
class Solution{
vector<int> PlusOne(vector<int> &digit){
vector<int> sum(digit.size(),0);
int one =1;
int tmp = 0;
for(int i=digit.size()-1;i>=0;i--){
tmp = digit[i] + one;
one+ = tmp/10;
sum[i]=tmp%10;
}
if(one>0){
sum.insert(sum.begin(),one);
}
}
3.知识点
vector用法:
#include < vector>
using namespace std;
vector迭代器和函数
push_back() | 在数组的最后添加一个数据 |
---|---|
pop_back() | 去掉数组的最后一个数据 |
at(int pos) | 返回pos位置元素的引用 |
begin() | 得到数组头的指针 |
end() | 得到数组的最后一个单元+1的指针 |
front() | 得到数组头的引用 |
back() | 得到数组的最后一个单元的引用 |
max_size() | 得到vector最大可以是多大 |
capacity() | 当前vector分配的大小 |
size () | 当前使用数据的大小 |
resize | 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值 |
reserve | 改变当前vecotr所分配空间的大小 |
erase(iterator it) | 删除指针指向的数据项 |
clear() | 清空当前的vector |
rbegin() | 将vector反转后的开始指针返回(其实就是原来的end-1) |
rend() | 将vector反转构的结束指针返回(其实就是原来的begin-1) |
empty | 判断vector是否为空函数 |
swap | 与另一个vector交换数据 |