interleving two linked list


Reference
Given
l1: 1->2->3->4
l2: 5->6
return 1->5->2->6->3->4;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public ListNode (ListNode l1, ListNode l2) {
if (l1 == null && l2 == null)
return null;
if (l1 == null)
return l2;
if (l2 == null)
return l1;
Queue<ListNode> q = new LinkedList<>();
q.offer(l1); q.offer(l2);
ListNode dummy = new ListNode(-1);
ListNode ptr = dummy;
while (!q.isEmpty()) {
ListNode node = q.poll();
if (node.next != null)
q.offer(node.next);
ptr.next = node;
ptr = ptr.next;
}
return dummy.next;
}