题目描述:
简单暴力的求解方法:在生成该迭代器的构造函数中,就将传入的两个vector按照要求的顺序放入一个vector中,剩下的两个方法就是判断下标是否到达数组尾部,返回当前下标的数组元素。
代码:
class ZigzagIterator {
public:
/*
* @param v1: A 1d vector
* @param v2: A 1d vector
*/ZigzagIterator(vector<int>& v1, vector<int>& v2) {
// do intialization if necessary
idx = 0;
while(idx<v1.size() || idx<v2.size()){
if(idx<v1.size())
res.push_back(v1[idx]);
if(idx<v2.size())
res.push_back(v2[idx]);
++idx;
}
idx = 0;
}
/*
* @return: An integer
*/
int next() {
// write your code here
return res[idx++];
}
/*
* @return: True if has next
*/
bool hasNext() {
// write your code here
return idx<res.size();
}
private:
vector<int> res;
int idx;
};