解题思路:指定删除任一节点,因无头节点指针,实际删除节点即是删除节点的值,所以可以将要删除节点和后继节点的值替换,删除后继节点即可。
Java代码实现:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
void deleteNode(struct ListNode* node) {
struct ListNode *p,*q;
p=q=node;
q=p->next;
p->val=q->val;
p->next=q->next;
free(q);
}
原地地址:
https://leetcode.com/problems/delete-node-in-a-linked-list/