📅  最后修改于: 2023-12-03 14:54:57.232000             🧑  作者: Mango
在数据结构中,单链表是一种常见的线性数据结构。单链表由节点组成,每个节点都包含一个数据和一个指向下一个节点的指针。删除单链表中的节点是一个常见的操作,本文将介绍如何从单链表的头部删除节点。
从单链表头部删除节点的过程如下:
以下是删除单链表头节点的代码实现:
struct ListNode {
int val;
struct ListNode *next;
};
void deleteNode(struct ListNode** head) {
if(*head == NULL) { // 判断单链表是否为空
return;
}
struct ListNode* temp = *head; // 保存旧的头节点,以便释放内存
*head = (*head)->next; // 将旧的头节点的next指向新的头节点
free(temp); // 释放旧的头节点的内存
}
以下是如何使用上述函数删除单链表头节点的示例代码:
struct ListNode* head = NULL;
// 创建单链表节点...
deleteNode(&head); // 删除头节点
以上是从单链表头部删除节点的实现思路及代码示例。删除单链表节点操作需要保证单链表不为空,并在释放内存后将头节点指向新的头节点。