力扣203移除元素
题目来源:
力扣203
题目描述:
非常简单的一道题,主要强调两点
- 链表删除要记录删除位置的前驱节点 头节点没有前驱 因此直接head=head.next
- 为了保持与后两种一致,加上虚拟节点,下一节点指向头节点
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeElements(ListNode head, int val) {//来一个虚节点 删除分首中尾三种 首的删除不需要前一个节点//为了与后两种统一 增加虚节点ListNode dummynode=new ListNode(0);dummynode.next=head;ListNode testnode=dummynode;while(testnode.next!=null){if(testnode.next.val==val){testnode.next=testnode.next.next;}else{testnode=testnode.next;} }return dummynode.next;}
}