public ListNode mergeKLists2(ArrayList<ListNode> lists) {
		// IMPORTANT: Please reset any member data you declared, as
		// the same Solution instance will be reused for each test case.
		if (lists.size() == 0)
			return null;
		ListNode head = lists.get(0);
		for (int i = 1; i < lists.size(); ++i) {
			ListNode sub = lists.get(i);
			head = mergeTwoLists(head, sub);
		}
		return head;
	}