移除链表元素
- 一、定义链表节点(面试时要自己写)
- 二、题目
- 三、移除头节点
- 1、直接在原链表中操作移除
- 2、设置一个虚拟头结点在再进行删除操作
- 四、解题代码
一、定义链表节点(面试时要自己写)
class ListNode {
val;
next = null;
constructor(value) {
this.val = value;
this.next = null;
}
}
二、题目
三、移除头节点
当移除的是非头节点时,我们只需要让节点next指针直接指向下下一个节点就可以了
但是移除头节点时,由于链表的其他节点都是通过前一个节点来移除当前节点,而头结点没有前一个节点所以头节点的移除操作相对比较特殊。
那我们怎么移除头节点1呢?这里有两种方法
1、直接在原链表中操作移除
只要将头结点向后移动一位就可以
2、设置一个虚拟头结点在再进行删除操作
设置一个虚拟头结点后,原链表的所有节点就都可以按照统一的方式进行移除了