首页 > 代码库 > 203. 移除链表中的元素 Remove Linked List Elements
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
题意:移除链表中指定val的元素
注意:考虑删除节点在尾部,以及连续删除两个相邻节点的情况
/**
* Definition for singly-linked list.
* public class ListNode {
* public int val;
* public ListNode next;
* public ListNode(int x) { val = x; }
* }
*/
public class Solution {
public void Delete(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
public ListNode RemoveElements(ListNode head, int val) {
ListNode node = head;
ListNode last = null;
while (node != null) {
if (node.val == val) {
if (node.next != null) {
Delete(node);
continue;
} else {
if (last != null) {
last.next = null;
} else {
return null;
}
}
}
last = node;
node = node.next;
}
return head;
}
}
null
203. 移除链表中的元素 Remove Linked List Elements
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。