1 LinkedList
Design
https://leetcode.com/problems/design-linked-list/description/
Reverse
public ListNode reverseList(ListNode head) {
/* iterative solution */
ListNode prev = null;
while (head != null) {
ListNode next = head.next;
head.next = prev;
prev = head;
head = next;
}
return prev;
}
public ListNode reverseList(ListNode head) {
/* recursive solution */
return reverseListInt(head, null);
}
private ListNode reverseListInt(ListNode prev, ListNode head) {
if (head == null)
return prev;
ListNode next = head.next;
head.next = prev;
return reverseListInt(head, next);
}*Reverse for an interval [m, n]

Insert
Delete
Remove Nth Node From End of List
Remove Linked List Elements
(注意下没准要删除的元素是连续的,那种情况下不要动 head)
Delete Node in a Linked List
(Shift the elements after the deleted one)
Remove Duplicates from Sorted List
Swap
Swap Nodes in Pairs
Odd Even Linked List (odd place ones first, then even ones)
Merge (Sorted)
Middle
Reverse Print
Last updated