Remove Linked List Elements
来源:互联网 发布:json接口api 编辑:程序博客网 时间:2024/06/05 06:05
题目地址: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
题目本身比较简单,考虑到以下几种情况即可:
- 第一个节点就是要删除的节点,例如:6 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6;
- 要删除的节点是连续的节点,例如:1 –> 2 –> 6–> 6 –> 3 –> 4 –> 5 –> 6, val = 6;
- 要删除的节点在尾部,例如:1 –> 2 –> 4 –> 5 –> 6, val = 6;
代码实现如下:
public class RemoveLinkedListElements { public static ListNode removeElements(ListNode head, int val) { if (head == null) return null; // 移除头部节点 while (head != null && head.val == val) head = head.next; ListNode p = head; while (p != null) { if (p.next != null && p.next.val == val) { p.next = p.next.next; continue; } p = p.next; } return head; } public static void printList(ListNode head) { ListNode p = head; while (p != null) { System.out.print(p.val + "->"); p = p.next; } System.out.println("null"); } public static void main(String[] args) { ListNode head = new ListNode(1); head.next = new ListNode(2); head.next.next = new ListNode(6); head.next.next.next = new ListNode(6); head.next.next.next.next = new ListNode(4); head.next.next.next.next.next = new ListNode(5); head.next.next.next.next.next.next = new ListNode(6); printList(removeElements(head, 6)); }}
时间复杂度:O(n)。
0 0
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- 简单地处理机的调度算法(先来先服务算法)
- 数据工程师-面试总结1
- SAPUI5 (01) - OpenUI5环境搭建
- win7 64位旗舰版系统耳机或音箱没有声音的解决方法
- 指针数组和数组指针
- Remove Linked List Elements
- ReactiveCocoa
- 去除字符串中重复出现的字符
- 【LeetCode-414】Third Maximum Number(C++)
- 2016-java基础篇-jdbc
- Filter基本案例(二)
- FAT32 R0.12b f_mkfs应用实例
- bzoj2599: [IOI2011]Race
- 学习python的第四十一天-第四章 python数据结构