#### Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

Solution 1: 简单的分治法。但是leetcode上给了个heap标签，猜想是对k个lists同时sort，维护一个min heap。todo。
```public class Solution {
public ListNode mergeKLists(List<ListNode> lists) {
if (lists == null || lists.size() == 0) {
return null;
}
if (lists.size() == 1) {
return lists.get(0);
}
List<ListNode> result = new ArrayList<ListNode>();
for (int i = 0; i < lists.size(); i+=2) {
if (i + 1 < lists.size()) {
} else {
}
}
return mergeKLists(result);
}
private ListNode mergeTwo(ListNode l1, ListNode l2) {
ListNode dummy = new ListNode(-1), prev = dummy;
while (l1 != null && l2 != null) {
if (l1.val < l2.val) {
prev.next = l1;
l1 = l1.next;
} else {
prev.next = l2;
l2 = l2.next;
}
prev = prev.next;
}
prev.next = l1 == null ? 9 more words```
Leetcode

#### Rotate List

Given a list, rotate the list to the right by k places, where k is non-negative.

For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL. 90 more words

Leetcode

#### Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 65 more words

Leetcode

3rd Semester

#### Remove Duplicates from Sorted List

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3. 49 more words

Leetcode

#### Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

For example,
Given 1->2->3->3->4->4->5, return 1->2->5. 200 more words

Leetcode