Java [Leetcode 203]Remove Linked List Elements

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java [Leetcode 203]Remove Linked List Elements相关的知识,希望对你有一定的参考价值。

题目描述:

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

解题思路:

链表操作。

代码如下:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode removeElements(ListNode head, int val) {
    	ListNode res = new ListNode(0);
    	res.next = head;
    	ListNode point = head, pre = res;

    	while(point != null) {
    		if(point.val == val) {
    			if(point.next != null) {
    				point.val = point.next.val;
    				point.next = point.next.next;
    			} else {
    				point = null;
    				pre.next = null;
    			}
    		} else {
    			point = point.next;
    			pre = pre.next;
    		}
    	}	
    	return res.next;
    }
}

  

 

以上是关于Java [Leetcode 203]Remove Linked List Elements的主要内容,如果未能解决你的问题,请参考以下文章

203. Remove Linked List Elements - LeetCode

[LeetCode] 203. Remove Linked List Elements

[LeetCode]203. Remove Linked List Elements

#Leetcode# 203. Remove Linked List Elements

leetcode?python 203. Remove Linked List Elements

LeetCode OJ 203Remove Linked List Elements