标签:
https://leetcode.com/problems/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
解题思路:
这两天leetcode上多了不少190+的easy题目,正好解解心头的郁闷,前面留下的骨头都太难啃了。
这题很简单,几个技巧。1. dummy节点。2. 当前节点时刻保留在要判断的前一个,这样才可以remove。
一遍AC,时间复杂度O(n)。
/** * 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 dummy = new ListNode(0); dummy.next = head; ListNode current = dummy; while(current.next != null) { if(current.next.val == val) { current.next = current.next.next; } else { current = current.next; } } return dummy.next; } }
标签:
原文地址:http://www.cnblogs.com/NickyYe/p/4458396.html