题目:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/description/
题解:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
typedef struct ListNode *LinkList;
void deleteNode(struct ListNode* node) {
LinkList p,q;
p=node;
node->val=node->next->val;
p=node->next;
node->next=node->next->next;
free(p);
}
此题方法巧妙,由于不知道头结点(node是要删去的),所以只能够将后一个节点覆盖前一个,再将后一个删除