203.移除链表元素
文档和视频讲解:代码随想录(programmercarl.com)
状态:ac
用时:0.5h
思路:双指针从前往后,后面的指针找到了特定元素后,让前面指针指向后面指针的next结点。为了循环处理的一致,需要在链表前面设置一个头节点。
代码:
707.设计链表
文档和视频讲解:代码随想录(programmercarl.com)
状态:没ac
用时:1.5h
思路:考察链表的基本功。设置一个虚拟的头结点,会是的操作简单点。注意每一次增删成功后,都要把链表长度加1或者减1。
代码:
206.反转链表
文档和视频讲解:代码随想录(programmercarl.com)
状态:双指针ac,递归没做出来
用时:1.5h
思路:第一个方法是双指针,即从前往后,两个指针指向相邻的两个结点,并反转。
第二个方法,是递归。可以从前往后,也可以从后往前。我递归的思路并没有想到从前往后,一开始从后往前,即传入函数的指针head,之后的链表都已经反转,具体的反转处理实在递归函数后面。
我的代码:
一定注意要把head->next赋值为null,否则最后两个结点会相互指向,导致输出时无限循环。
卡哥代码:
注:具体的数据的处理放在递归之前还是之后会让具体的执行过程不同。