删除链表中等于给定值 val 的所有节点。
示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */ public class Solution { public ListNode RemoveElements(ListNode head, int val) { ListNode MyHead = new ListNode(0);//建一个头结点,应对要删除first结点的情况,达到一致的普遍性 MyHead.next = head; ListNode preNode = MyHead; while(head != null) { if(head.val == val) { //移除结点,上一个结点不变 preNode.next = head.next; } else { preNode = head;//上一个结点推进 } head = head.next;//日常推进 } return MyHead.next; } }