assign()函数主要是将一个容器中元素全部复制到另一个容器中。
(1)void assign(const_iterator first,const_iterator last)
将区间[first,last)的元素赋值到当前的vector容器中
(2)void assign(size_type n,const T& x = T());
赋n个值为x的元素到vector容器中,这个容器会清除掉vector容器中以前的内容。
力扣189题,旋转数组:
class Solution {
public:
void rotate(vector<int>& nums, int k) {
int n=nums.size();
vector<int> newArr(n);
for(int i=0;i<n;i++){
newArr[(i+k)%n]=nums[i];
}
nums.assign(newArr.begin(), newArr.end());
}
};