给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/remove-linked-list-elements
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
图1 删除指定val链表示例图
创建dummyNode,将原链表头节点作为dummyNode的next,可不用单独讨论原始head的val值。
创建temp作为遍历节点的动态节点,最终返回dummyNode.next。
class Solution{
public ListNode removeElements(ListNode head, int val){
ListNode dummyNode = new ListNode();
dummyNode.next = head;
ListNode temp = dummyNode;
while(temp.next != null){
if(temp.next.val == val){
temp.next = temp.next.next;
}else{
temp = temp.next;
}
}
return dummyNode.next;
}
}