【leetcode】【203】Remove Linked List Elements

来源:互联网 发布:数据库管理员培训学费 编辑:程序博客网 时间:2024/06/06 20:10

一、问题描述

Remove all elements from a linked list of integers that have value val.

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5

二、问题分析

因为可能会删除head节点,所以可以额外增加一个头结点,便于控制。剩下的就是遍历链表,因为删除某个节点的时候需要把之前的节点链到被删的后面,因此需要两个指针来处理。

三、Java AC代码

public ListNode removeElements(ListNode head, int val) {        ListNode dummy = new ListNode(0);dummy.next = head;ListNode p = dummy;ListNode q = head;while(q!=null){if (q.val == val) {p.next = q.next;}else {p = p.next;}q = q.next;}return dummy.next;    }


0 0
原创粉丝点击