给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。
Linked list is 1->2->3->4, and given node 3, delete the node in place 1->2->4
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */ class Solution { public: /* * @param node: the node in the list should be deletedt * @return: nothing */ void deleteNode(ListNode * node) { // write your code here if(node==NULL) return; if(node->next==NULL) { node=NULL; return; } node->val=node->next->val; node->next=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 deletedt @return: nothing """ def deleteNode(self, node): # write your code here if node==None: return None if node.next==None: return None node.val=node.next.val node.next=node.next.next return node