1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class ZigzagIterator {
private int ptrOne, ptrTwo;
private List<Integer> list1;
private List<Integer> list2;

public ZigzagIterator(List<Integer> v1, List<Integer> v2) {
list1 = v1;
list2 = v2;
}

public int next() {
if (ptrOne == list1.size()) {
return list2.get(ptrTwo++);
}
if (ptrTwo == list2.size()) {
return list1.get(ptrOne++);
}
if ((ptrOne + ptrTwo) % 2 == 0) {
return list1.get(ptrOne++);
} else {
return list2.get(ptrTwo++);
}
}

public boolean hasNext() {
return ptrOne + ptrTwo < list1.size() + list2.size();
}
}

εε€ιεŽ†ε³ε―.