203. 移除链表中的元素 Remove Linked List Elements
Remove all elements from a linked list of integers that have value val.
Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5
题意:移除链表中指定val的元素
注意:考虑删除节点在尾部,以及连续删除两个相邻节点的情况
/*** Definition for singly-linked list.* public class ListNode {* public int val;* public ListNode next;* public ListNode(int x) { val = x; }* }*/public class Solution {public void Delete(ListNode node) {node.val = node.next.val;node.next = node.next.next;}public ListNode RemoveElements(ListNode head, int val) {ListNode node = head;ListNode last = null;while (node != null) {if (node.val == val) {if (node.next != null) {Delete(node);continue;} else {if (last != null) {last.next = null;} else {return null;}}}last = node;node = node.next;}return head;}}

浙公网安备 33010602011771号