链表

  1. 做过的链表
    1. LRU 缓存机制
    2. 排序链表
    3. 两两交换链表中的节点
    4. 反转链表
    5. 相交链表
    6. 合并两个有序链表
    7. 删除链表中的节点
    8. 旋转链表
    9. 环形链表

做过的链表

LRU 缓存机制


30 分钟–中等–双链表
image.png
最开始用了数组的方式,可行,但是 indexOf 并不算 O(1)吧。
第二种算法 Map 的有点厉害,map.keys().next().value 比较厉害。
第三种是双链表。。这个晚上再看一遍!!!

排序链表


20 分钟–中等–归并排序
image.png
可以和其他的排序对比一下!

两两交换链表中的节点

(10 分钟)—中等—递归
很简答的递归
image.png

反转链表

(10 分钟)—简单—递归
image.png
比想象的难一点,没注意应该每次都返回末位,包括最后也是返回末位。
其实直接 for 循环也很简单的,每次把 cur 的 next 设置成 pre。然后重设 cur 和 pre

相交链表

20 分钟—简单—Mapimage.png

强行环的解法太秀了!!就是走完 A 链表继续走 B 链表,两者相交了就是答案,很优秀啊

合并两个有序链表

(10 分钟)—简单—递归
image.png

删除链表中的节点

(5 分钟)—简单—链表

非常神奇的一道题,我居然没能想到曲线救国的办法,太蠢了,没法向上找只能向下替换,太精彩了

旋转链表

(10 分钟)—中等—链表
执行时间超过 88%;内存消耗超过 31%
我用数组减少了一次循环的时间

环形链表

(5 分钟)—简单—双指针
执行时间超过 69%;内存消耗超过 68%
用了快慢指针的方式,环形链表一定会相交处理的


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:链表

文章字数:391

本文作者:泽鹿

发布时间:2019-09-02, 13:50:57

最后更新:2019-09-09, 15:49:47

原始链接:http://panyifei.github.io/2019/09/02/算法/leetcode/链表/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏