LeetCode Summary I ---Linked List

Part 1:

Add two numbers
Add two numbers II

这两道题都是相加类的题,需要维护当前位和进位,第一道是链表倒序存放元素,第二道是正序。正序存放元素的栈的解法需要再熟悉一下。

另外需要注意的是:当最高位仍有进位时,需要新建一个节点来接受进位。

同时和数组的这类题 Plus One 一起熟悉熟悉。


Part 2:

Delete Node in a Linked List
Intersection of Two Linked List
Linked List Cycle
Linked List Cycle II
Reverse Linked List
Remove Linked List Elements

这几道常见题目,熟悉即可,争取做到 Bug Free。


Part 3:

Merge Two Sorted List
Sort List
Merge k Sorted List
Insertion Sort List
Swap Nodes in Pairs
Odd Even Linked List
Partition List

这几道跟排序有关的题,首先需要掌握相关的排序及其复杂度,特别是归并排序必须再熟悉熟悉。除了归并排序的应用及其变体,其他的题要注意 dummy node 的使用,以及一些链表操作的细节。我还需要熟悉熟悉!

其次,注意后两道题的解法。

  • Odd Even Linked List 用了双指针,一前一后交叉改变;
  • Partition List 用了两个链表,一个链接小于 x 的节点,一个链接大于等于 x 的节点,最后将这两个链表再链接起来。

Part 4:

Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Remove Linked List Elements
Remove Nth Node from End of List

这些 remove 的题,本质都差不多,只是要灵活运用。

注意下 Remove Nth Node from Sorted List 中的思想,使用 fast 指针先走 n 步,slow 指针停下来的节点就是倒数第 n 个节点,拓展到使用 slow 与 fast 两个指针找中点。


Part 5:

Reverse Linked List
Reverse Linked List II
Reverse Nodes in k-Group
Reorder List
Rotate List

这些和 reverse 相关的题,写完了再说……

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值