Java带头单链表的删除操作,并把要删除的结点清空
时间: 2024-09-29 10:11:30 浏览: 35
Java实现带头结点的单链表
在Java中,删除单链表中的节点通常涉及到两个步骤:首先找到要删除的节点,然后更新前一个节点的`next`指针使其指向下一个节点。如果要删除的是头节点,还需要特殊处理。这里是一个基本的删除操作的例子,包括删除指定节点和删除头节点:
1. **删除指定节点**:
```java
public void deleteNode(Node key) {
// 情况一:要删除的节点是头节点
if (head != null && head.data == key.data) {
head = head.next; // 更新头节点为下一个节点
} else {
Node current = head;
while (current != null && current.next != null && current.next.data != key.data) {
current = current.next; // 寻找目标节点的前一个节点
}
// 情况二:找到了要删除的节点
if (current.next != null) {
current.next = current.next.next; // 更新当前节点的`next`指向前一个节点的下一个节点
}
}
}
```
2. **删除头节点(特殊情况)**:
```java
public void deleteHead() {
if (head != null) {
head = head.next; // 将头节点设置为头节点的下一个节点
}
}
```
在上述代码中,`key`是你要删除的节点,如果找不到该节点,则不会有任何操作。
阅读全文