【链表】203. 移除链表元素
题目:

算法思想:
本题是典型的链表删除节点的题目,主要需要注意的是两点,本题是没有头结点的,需要设置一个虚拟头结点,处理特殊情况,另一个情况就是需要多存一个前置结点,在删除当前结点时,需要前置结点的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 node = new ListNode();node.next = head;ListNode p = node;ListNode pre = node.next;while (pre != null) {if (pre.val == val) {p.next = pre.next;} else {p = pre;}pre = pre.next;}return node.next;}}```
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
