PlusOne

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交换数据
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容