标签:移除 mic click ima link 其他 lin lse rem
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode removeElements(ListNode head, int val) { while(head != null && head.val == val){ // ListNode delNode = head; // head = head.next; // delNode.next = null; head = head.next; } if (head == null){ return null; } ListNode prev = head; while(prev.next != null){ if(prev.next.val == val){ // ListNode delNode = prev.next; // prev.next = delNode.next; // delNode.next = null; prev.next = prev.next.next; } else{ prev = prev.next; } } return head; } }
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ // 使用虚拟头结点版本 // 虚拟头结点的作用:统一在链表中对头节点和其他节点相应的操作。 // 此时,head指向的链表中所有的节点都有前一个节点,就不需要对第一个节点进行特殊处理了。 class Solution { public ListNode removeElements(ListNode head, int val) { ListNode dummyHead = new ListNode(-1);// 任意给一个值,虚拟头结点不会被访问 dummyHead.next = head; ListNode prev = dummyHead; while(prev.next != null){ if(prev.next.val == val){ // ListNode delNode = prev.next; // prev.next = delNode.next; // delNode.next = null; prev.next = prev.next.next; } else{ prev = prev.next; } } return dummyHead.next; } }
标签:移除 mic click ima link 其他 lin lse rem
原文地址:https://www.cnblogs.com/HuangYJ/p/12823242.html