题目描述:
- 移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]
示例 2: 输入:head = [], val = 1 输出:[]
示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]
提示:
列表中的节点数目在范围 [0, 104] 内
1 <= Node.val <= 50
0 <= val <= 50
class Solution {
public ListNode removeElements(ListNode head, int val) {
//因为头结点可能被删掉,所以创建一个虚拟头结点
//初始化一个结点为0的空结点
ListNode dummyHead = new ListNode(0);
dummyHead.next = head;
ListNode cur = dummyHead;
while (cur.next!=null){
//如果是该值
if(cur.next.val==val){
//改变连接删除此节点
cur.next = cur.next.next;
}else{
cur=cur.next;
}
}
return dummyHead.next;
}
}



