Delete Node in a Linked List

来源:互联网 发布:国际科学数据服务平台 编辑:程序博客网 时间:2024/06/05 16:00

题目大意:删除单链表中的某个节点,限制条件是只给你指向某个节点的指针(保证不会给你指向最后一个节点的指针),让你删除这个节点。

比如 1->2->3->4,给你指向3这个节点的指针,然后让这个链表变为1->2->4

思路分析:由于是单链表,所以我们没有办法获取这个节点前面的一个节点,但是我们可以把后面一个节点的值赋值给当前节点,然后将当前节点指向后面一个节点的后一个节点。

代码如下:

void deleteNode(struct ListNode* node) {    struct ListNode * p = node->next;    node->val = p->val;    node->next = p->next;    free(p);}


0 0
原创粉丝点击