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(); } }
|