public ListNode solution1(List<ListNode> lists) {
			ArrayList<ListNode> rest = new ArrayList<ListNode>();
			for (ListNode head : lists) {
				if (head != null)
					rest.add(head);
			}

			ListNode dummy = new ListNode(0);
			ListNode cur = dummy;
			while (!rest.isEmpty()) {
				ListNode min = new ListNode(Integer.MAX_VALUE);

				for (ListNode item : rest) {
					if (item.val <= min.val) {
						min = item;
					}
				}

				cur.next = min;
				cur = cur.next;
				rest.remove(min);
				min = min.next;
				if (min != null) {
					rest.add(min);
					cur.next = null;
				}

			}

			return dummy.next;
		}