只知道指针P指向一个单向非循环链表的节点,不是头节点也不是尾节点,从链表上把 P指向的节点删除...
思路:
一般的思路是要遍历链表找到节点P的前驱节点, 然后再删掉节点P, 但是这样效率不是很高, 可以换个思路, P节点的后继节点是可以在O(1) 复杂度下得到的, 可以将P的后继节点的数据复制到P节点中, 然后删掉P的后继节点, 重新接链即可...
实现如下:
只知道指针P指向一个单向非循环链表的节点,不是头节点也不是尾节点,从链表上把 P指向的节点删除...
思路:
一般的思路是要遍历链表找到节点P的前驱节点, 然后再删掉节点P, 但是这样效率不是很高, 可以换个思路, P节点的后继节点是可以在O(1) 复杂度下得到的, 可以将P的后继节点的数据复制到P节点中, 然后删掉P的后继节点, 重新接链即可...
实现如下: