目录
题目:
一、移除链表元素:
本质:
移除元素就是先找到该元素所在的位置,然后将该元素所在节点的指向下一个节点赋给该元素所在的节点位置的前一个节点。
解题思路:
本题分为两种解法:
- ++解法一是直接在原链表上进行删除++
- ++解法二是设立一个新的链表,然后通过查找的方式对链表进行遍历,然后如果是不需要删除的节点,那么我们将其进行尾插 ,尾插到我们创建的新链表上++
我们使用解法二:
- 创立两个指针,分别是头指针和尾指针
- 头指针是为了最后方便打印所以保持不变,尾指针是进行尾插的操作。
- 然后让原链表开始遍历,不是要删除的节点,进行尾插,插入新的链表中
- 这个插入新链表也就是将原链表节点内部的指向改成新链表的
注意事项:
注意当第一个节点到新链表后,头指针和尾指针是同时指向第一个节点的,但是之后就只有尾节点开始移动 。
完整代码:
- head是旧指针的火车头内部指向的第一个节点位置
- val是节点存储的数据
- 最后需要将新链表的最后指向置空
- newHead头指针 newTail 尾指针