leetcode链表题,简单题也是很重要的,复杂链表题也就是简单链表题的组合。
简单题:
237:
图片.png
237
这道题思路有点不一样,给的不是链表的初始点,而是要删的节点,那么方法就是把后面那个节点的值赋值给自己,然后跳过后面那个节点。
206:
206
链表反转是面试的常规考题。
sol1.采用尾插法,把新的始终插到最前面,在最前面插了个头结点
206
sol2.原地反转,使用3个指针,pre,cur,next来模拟链表反转。
206 sol2
但这种方法也不比上面一种快
876:
876
这道题可以使用跑一遍链表拿到长度,然后再返回,但这道题可以用快慢指针来做
876
21:
21
一种就是逐渐比较
21sol
第二种采取递归的做法
21sol2
83 sol
160
这道题先让长链表跑一段,再同时跑,看相不相交
203
141
141
快慢指针
141
234
234
常规解法:快慢指针找中点,然后将一半链表进行反转,再依次比较
sol1
707
707
网友评论