📌  相关文章
📜  数据结构示例-单向链表删除末尾节点(1)

📅  最后修改于: 2023-12-03 14:54:57.407000             🧑  作者: Mango

数据结构示例-单向链表删除末尾节点

单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。单向链表常常用于实现栈、队列等数据结构。

在单向链表中,删除末尾节点是一个常见的操作。下面介绍如何实现单向链表删除末尾节点。

实现思路

单向链表的最后一个节点的下一个节点为 null。因此,要删除单向链表的末尾节点,需要找到倒数第二个节点,将其 next 指向 null,删除最后一个节点。

具体实现步骤如下:

  1. 从链表的头节点开始遍历,找到倒数第二个节点。
  2. 将倒数第二个节点的 next 指针指向 null
  3. 删除最后一个节点。
代码实现

下面给出Java语言的单向链表删除末尾节点的实现代码:

public void deleteLastNode() {
    // 空链表直接返回
    if (head == null) {
        return;
    }
    // 当链表只有一个节点时,直接删除该节点
    if (head.getNext() == null) {
        head = null;
        return;
    }
    // 找到倒数第二个节点
    Node cur = head;
    while (cur.getNext().getNext() != null) {
        cur = cur.getNext();
    }
    // 将倒数第二个节点的 next 指针指向 null
    cur.setNext(null);
    // 删除最后一个节点
    Node last = cur.getNext();
    last = null;
}
总结

单向链表是一种常用的数据结构,在实际开发中也经常会用到。本文介绍了如何实现单向链表删除末尾节点,希望对大家有所帮助。