题目
有一个单链表的 head,我们想删除它其中的一个节点 node。
给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。
链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。
思路:
由于是单向链表,并且确定了要删除的节点不是最好一个,那么我们可以将下一个节点的值赋值给要删除的节点,然后删除下一个节点就行了。
代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
void deleteNode(struct ListNode* node) {
node->val = node->next->val;
node->next = node->next->next;
}
来自leedcode
https://leetcode.cn/leetbook/read/top-interview-questions-easy/xnarn7/