在单链表中删除指定元素并返回(java)
时间: 2024-10-07 14:03:45 浏览: 23
Java单链表基本操作的实现
5星 · 资源好评率100%
在Java中,如果你想要从单链表中删除指定元素,可以创建一个`Node`类来表示节点,并实现一个`LinkedList`类来管理链表的操作。下面是一个简单的示例,展示了如何遍历链表、找到目标元素并删除它:
```java
class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
this.next = null;
}
}
class LinkedList {
private Node head;
// 添加元素到链表头部
public void add(int data) {
Node newNode = new Node(data);
newNode.next = head;
head = newNode;
}
// 删除指定元素
public Node remove(int target) {
if (head == null || head.data != target) {
return head; // 如果链表为空或头节点不是目标,直接返回
}
// 找到目标节点并更新头节点
Node temp = head;
head = head.next;
// 返回删除后的头节点
return head;
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add(1);
list.add(2);
list.add(3);
Node removedNode = list.remove(2); // 删除值为2的节点
System.out.println("删除后的链表: " + list);
System.out.println("已删除的节点数据: " + removedNode.data); // 输出被删除的元素
}
}
```
这个代码首先创建了一个单链表,然后在`remove`方法中寻找指定的目标元素,如果找到就将其前一个节点的`next`指针指向目标节点的下一个节点,从而达到删除的目的。
阅读全文