題目描述:
給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間復雜度刪除該鏈表節點。
樣例
給定 1->2->3->4,和節點 3,刪除 3 之后,鏈表應該變為 1->2->4。
題目分析:
給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間復雜度刪除該鏈表節點。
將需要刪除的節點curent_node的val和curent_node.next.val交換,然后使curent_node指向curent_node.next.next即可。
源碼
"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
"""
class Solution:
# @param node: the node in the list should be deleted
# @return: nothing
def deleteNode(self, node):
# write your code here
tmpNode = node.next
node.val = tmpNode.val
node.next = tmpNode.next
