您的位置:首页 > Web前端 > Node.js

Delete Node in a Linked List

2015-12-31 09:16 375 查看

Delete Node in a Linked List

Write a function to delete a node (except the tail) in a singly linked list,
given only access to that node
.

Supposed the linked list is
1 -> 2 -> 3 -> 4
and you are given the third node with value 3, the linked list should become
1 -> 2 -> 4
after calling your function.

结果是要删除的那个元素,而不是整个链表

思路

其实是把给出的待删除节点赋值为下一个节点,然后删除下一个节点

临时变量指向->next,然后赋值,最后free

代码

/**
* Definition for singly-linked list.
* struct ListNode {
*     int val;
*     struct ListNode *next;
* };
*/
void deleteNode(struct ListNode* node) {
struct ListNode* tmp = node->next;
node->val = tmp ->val;
node->next = tmp->next;
free(tmp);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: