原題
給定一個單鏈表中的一個等待被刪除的節(jié)點(非表頭或表尾)。請在在O(1)時間復雜度刪除該鏈表節(jié)點芜抒。
樣例
給定 1->2->3->4锅纺,和節(jié)點 3,刪除 3 之后铣耘,鏈表應該變?yōu)?1->2->4洽沟。
解題思路
- 復制要刪除的節(jié)點下一個節(jié)點的值給要刪除的節(jié)點,把當前節(jié)點的next指針指向下一個節(jié)點的next指針指向的節(jié)點
完整代碼
"""
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
if node is None or node.next is None:
return
node.val = node.next.val
node.next = node.next.next
return