给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
/**
* 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 result = new ListNode(0, head);//创建一个虚拟头节点
ListNode pre = result;//前节点指针
while (pre.next != null) {//判断当前节点是否为空
if (pre.next.val == val){//判断是否为应删除节点
pre.next = pre.next.next;//删除节点
}else
pre = pre.next;//移动指针
}
return result.next;//返回虚拟头节点指向的实际头节点
}
}

1014

被折叠的 条评论
为什么被折叠?



