LeetCode 面试题02.03. 删除中间节点 (C语言)

面试题02.03. 删除中间节点

Description


实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。

示例:
输入:单向链表a->b->c->d->e->f中的节点c
结果:不返回任何数据,但该链表变为a->b->d->e->f

Analyze


给定的函数如下:
LeetCode 面试题02.03. 删除中间节点 (C语言)_第1张图片

  • @param node 要删除的结点

就是给你一个链表中的结点,然后删除这个结点,只要把下一个结点的值赋给当前结点就行了

Realization


LeetCode 面试题02.03. 删除中间节点 (C语言)_第2张图片

  • 提交
    LeetCode 面试题02.03. 删除中间节点 (C语言)_第3张图片

附源代码


/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
void deleteNode(struct ListNode* node) {
    *node = *(node->next);
}

你可能感兴趣的:(LeetCode,题解)