I can track the last item by keeping the q.poll in a int but how can I track the second last item using this traversal?
public Integer breadthFirstTraversal(Integer v) {
Queue<Integer> q = new LinkedList<Integer>();
VertexIDList adjList;
q.add(v);
getVertex(v).setMarked();
while (!q.isEmpty()) {
v = q.poll();
adjList = getVertex(v).getAdjs();
Iterator<Integer> vIt = adjList.iterator();
while (vIt.hasNext()) {
Integer u = vIt.next();
if (!getVertex(u).isMarked()) {
q.add(u);
getVertex(u).setMarked();
}
}
}
// return second last item here
}