141. Linked List Cycle: 判断linked list中间是否包含一个环。改变原来的链表。设置标志位,即head,如果next找到head,就含cycle。
142. Linked List Cycle II**:找到cycle开始的地方。
237. Delete Node in a Linked List:删除linkedlist中某个元素。注意引用传递和参数传递的区别。
237. Delete Node in a Linked List:删除重复元素。巧妙运用递归。
203. Remove Linked List Elements:删除某特定值的元素。巧妙运用递归。
160. Intersection of Two Linked Lists:找到两个linkedlist交集开始的地方。非常巧妙。headA将A遍历完去遍历B。headB同理。这样总能找到交集。
206. Reverse Linked List**:将链表反转。递归递归。
92. Reverse Linked List II**:反转链表中的一小段。保证pre不动,依次插入后面的结点。
234. Palindrome Linked List:回文链表。基于206。找到中点后倒置。
21. Merge Two Sorted Lists:将两个有序链表连接起来。
61. Rotate List:将链表平移。注意一点,平移的量可能超过链表自身长度,所以需要取余数。
148. Sort List:将链表排序。归并排序用起来比较方便。
147. Insertion Sort List:使用插入排序对链表进行排序。
143. Reorder List:奇数序列和倒序偶数序列相互交错。这道题考的是链表反转和混合。
328. Odd Even Linked List:先奇数再偶数。这道题和部分反序的92题很相似。从小部分到大部分,最终完成。做出来了,你好棒。
109. Convert Sorted List to Binary Search Tree:把排序后的链表转换为二叉搜索树。
82. Remove Duplicates from Sorted List II:去除链表中重复元素。
2. Add Two Numbers:多位数用链表表示,左对齐,求和。
445. Add Two Numbers II:多位数用链表表示,右对齐。不能用反序,那就用hashmap存储各位对应的数值吧。
24. Swap Nodes in Pairs:成对交换结点。注意一点,next.next可能为null。
19. Remove Nth Node From End of List:去掉第几个结点。