203_Removed-Linked-List-Elements
2024-09-01 20:49:25
203_Removed-Linked-List-Elements
目录
Description
Remove all elements from a linked list of integers that have value val.
Example:
Input: 1->2->6->3->4->5->6, val = 6
Output: 1->2->3->4->5
Solution
Java solution 1
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode removeElements(ListNode head, int val) {
while (head != null && head.val == val) {
head = head.next;
}
if (head == null) {
return null;
}
ListNode prev = head;
while (prev.next != null) {
if (prev.next.val == val) {
prev.next = prev.next.next;
} else {
prev = prev.next;
}
}
return head;
}
}
Runtime: 7 ms.
Java solution 2
Using dummy head node.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode dummyHead = new ListNode(-1);
dummyHead.next = head;
ListNode prev = dummyHead;
while (prev.next != null) {
if (prev.next.val == val) {
prev.next = prev.next.next;
} else {
prev = prev.next;
}
}
return dummyHead.next;
}
}
Runtime: 8 ms.
Python solution
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def removeElements(self, head, val):
"""
:type head: ListNode
:type val: int
:rtype: ListNode
"""
dummy_head = ListNode(-1)
dummy_head.next = head
prev = dummy_head
while prev.next is not None:
if prev.next.val == val:
prev.next = prev.next.next
else:
prev = prev.next
return dummy_head.next
Runtime: 88 ms. Your runtime beats 74.70 % of python3 submissions.
最新文章
- Sentinel-Redis高可用方案(一):主从复制
- Ubuntu下MySQL忘记root密码重置
- 用dubbo+zookeeper+spring搭建一个简单的http接口程序
- Java 获取今天之前的七天 的日期
- python高级编程之描述符与属性03
- 理解Java多态
- putty完全使用手册--多窗口---git提交---连接数据库--自动日志显示
- BigDecimal类型转换
- gp工具的许可
- 解决win10中chm内容显示为空白的问题
- Innodb ,MyISAM
- MySQL的四种不同查询的分析
- Golang cron 定时任务使用
- [css]浮动造成的影响
- js事件队列
- MyEclipse部署项目时点finish点不动finish按钮灰色的
- 为什么MyISAM会比Innodb的查询速度快
- Ubuntu 16.09下iptables通过raw表实现日志输出和调试
- TensorFlowIO操作(二)----读取数据
- 在Chem 3D软件用什么方法可以改变背景