题目描述
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
第一种解法
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteNode(self, head: ListNode, val: int) -> ListNode:
if head.val==val:
return head.next
a=head
while (a.next).val!=val:
a=a.next
a.next=(a.next).next
return head
先对数组第一个元素进行判定,如果相等,则直接返回head.next
用a来遍历数组,当a的下一个元素等于val时,跳过下一个元素,把下下个元素赋值给a.next
执行用时 :40 ms, 在所有 Python3 提交中击败了87.49%的用户
内存消耗 :13.6 MB, 在所有 Python3 提交中击败了100.00%的用户