题目链接:https://leetcode-cn.com/problems/convert-1d-array-into-2d-array/
思考一个问题:它怎么知道你返回的vector是二维的呢?
class Solution {
public:
vector<vector<int>> construct2DArray(vector<int> &original, int m, int n) {
vector<vector<int>> ans;
if (original.size() != m * n) {
return ans;
}
for (auto it = original.begin(); it != original.end(); it += n) {
ans.emplace_back(it, it + n);
}
return ans;
}
};
拓展1:C++ auto 用法
auto在此处用来自动判断类型,使得程序简洁
emplace_back和push_back的功能其实是差不多的,但是push_back只能插入单个元素,emplace可以插入多个元素,所以此处必须要用emplace_back
小结:熟悉了vector容器的操作:emplace_back,v.size(),v.begin(),v.end()