Problem statement
Given a pointer to the middle node of the linked list, delete that node.
Solution
# Definition for singly-linked list.
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
def del_mid_node(head, mid):
temp = mid.next
mid.val = temp.val
mid.next = temp.next
if __name__ == "__main__":
n1 = ListNode(1)
n2 = ListNode(2)
n3 = ListNode(3)
n4 = ListNode(4)
n5 = ListNode(5)
head, mid = n1, n3
n1.next = n2
n2.next = n3
n3.next = n4
n4.next = n5
del_mid_node(head, mid)
p = head
while p:
print p.val
p = p.next

本文介绍了一种在给定链表中间节点的情况下删除该节点的方法。通过调整中间节点的值为下一个节点的值并更新指针,可以有效地完成删除操作。示例中使用了具体的链表节点创建和删除过程。
5万+

被折叠的 条评论
为什么被折叠?



