学习数据结构之链表

158 阅读1分钟

什么是链表?为什么需要链表?这里直接引用leetcode的一段描述。


tips:顺序表可以理解成数组

链表vs数组的优点:插入O(1),比数组的O(n)快,不像数组那样有最大长度限制。

链表vs数组的缺点:查找比数组慢,O(n),数组O(1)。需要更多的内存空间;

到这里,其实我觉得前端只要掌握单链表就可以了。怎么才知道自己有没有掌握?刷leetcode就行了。

操作链表的套路

1.快慢指针。(判断一个链表存不存在环)

2.链表数组化。(一开始对链表不太熟悉的我建议把链表处理成数组刷,增加自己的信心)

3.递归。(递归是最常用的,有时候也是最难写的,有时候也是最难理解的,一般如果理解不了,老老实实在纸上画递归树吧,辅助理解)

141.环形链表


206.反转链表


19.删除链表倒数第n个


tips:也可以麻烦一点,转换成数组做,但是没什么必要。

总结

其实在学习数据结构的时候,理解和掌握是有区别的,理解不一定会写,只有你真正掌握了才能写出来。记录一次学习数据结构的比较,打卡~