题目描述
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
LeetCode实现链接
:删除链表中等于给定值 val 的所有节点
实现代码
public Node removeallKey1(int key) {
//首先判断表头是否为空
if (this.head == null) {
return null;
}
//创建一个引用prev指向表头
//创建cur指向表头的next引用所指向的对象
Node prev = this.head;
Node cur = prev.next;
//让cur遍历链表
while (cur != null) {
if (cur.target == key) {
prev.next = cur.next;
cur = cur.next;
} else {
prev = cur;
cur = cur.next;
}
}
//判断表头的值是否为给定的值,如果是则让表头指向下一个结点
if(this.head.target == key){
this.head = this.head.next;
}
return head; //返回表头结点
}