题目链接
    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点

    示例1:
    removelinked-list.jpg

    1. 输入:head = [1,2,6,3,4,5,6], val = 6
    2. 输出:[1,2,3,4,5]

    示例2:

    1. 输入:head = [], val = 1
    2. 输出:[]

    示例3:

    1. 输入:head = [7,7,7,7], val = 7
    2. 输出:[]

    提示:

    • 列表中的节点数目在范围 [0, 104] 内
    • 1 <= Node.val <= 50
    • 0 <= val <= 50

    注意:head结点有可能需要删除,因此另加一个结点rc

    1. /**
    2. * Definition for singly-linked list.
    3. * public class ListNode {
    4. * int val;
    5. * ListNode next;
    6. * ListNode() {}
    7. * ListNode(int val) { this.val = val; }
    8. * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
    9. * }
    10. */
    11. class Solution {
    12. public ListNode removeElements(ListNode head, int val) {
    13. ListNode rc = new ListNode(0);
    14. rc.next = head;
    15. ListNode current = rc;
    16. while (current.next != null){
    17. if(current.next.val == val){
    18. current.next = current.next.next;
    19. } else {
    20. current = current.next;
    21. }
    22. }
    23. return rc.next;
    24. }
    25. }