文字讲解:代码随想录(programmercarl.com)
题目链接:203.移除链表元素 707. 设计链表 206.反转链表
一、移除链表元素
涉及头结点可以设置虚拟的头结点dummy
单链表增删操作,通常使用pre和cur两个指针。
遍历,判断节点值相等时,执行删除(pre指向cur.next)
值不相等时,保留当前节点,pre=cur
为保证遍历循环起来,每一次循环都需要执行cur=cur.next
二、设计链表
底层是一个单链表或双链表,在此基础上实现设计的链表和相应的功能。
增加统一用index来实现,需要先遍历找到pre节点,创建新节点,pre.next指向新节点
注意需要对index进行判断。
三、反转链表
注意初始化pre节点的时候,要定义为空指针,否则头处会有值,导致返回错误。
只需要改变链表的next指针的指向,直接将链表翻转。