public static ListNode mergeKLists(List<ListNode> lists) {
		if (lists.size() == 0)
			return null;
		ListNode result = null;
		Boolean complete = false;
		ListNode head = null;
		while (!complete) {
			complete = true;
			ListNode minNode = null;
			for (ListNode n : lists) {
				if (n == null)
					continue;
				complete = false;
				if (minNode == null || n.val < minNode.val)
					minNode = n;
			}
			if (complete)
				break;
			if (result == null) {
				result = minNode;
				head = minNode;
			} else {
				result.next = minNode;
				result = result.next;
			}
			lists.remove(minNode);
			minNode = minNode.next;
			if (minNode != null)
				lists.add(minNode);

			// result.next = null;
		}
		result.next = null;
		return head;
	}