难度简单553收藏分享切换为英文接收动态反馈
给你一个链表的头节点
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 输出:[]
思路:设置dummy头节点和prev指针。prev跟着head移动。
class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode prev = dummy;
while(head!=null)
{
if(head.val!=val)
{
prev=head;
}
else
{
prev.next=head.next;
}
head=head.next;
}
return dummy.next;
}
}