单链表删除指定元素函数java
时间: 2024-12-18 16:33:56 浏览: 17
在Java中,你可以创建一个单链表节点类(Node),然后编写一个函数来删除给定值的节点。这里是一个简单的例子:
```java
public class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
public class LinkedList {
private ListNode head;
// 添加节点到链表头部
public void add(int val) {
ListNode newNode = new ListNode(val);
newNode.next = head;
head = newNode;
}
// 删除指定元素的函数
public void removeElement(int target) {
if (head == null) {
return; // 如果链表为空,直接返回
}
// 遍历查找目标节点
ListNode current = head;
while (current != null && current.val != target) {
ListNode temp = current;
current = current.next;
}
// 如果找到了目标节点,更新指针
if (current != null) {
if (current.next != null) { // 节点不是尾部
current.next = current.next.next; // 删除节点
} else { // 节点是尾部
head = current; // 更新头节点为前一个节点
}
}
}
}
```
这个`removeElement`函数首先检查链表是否为空,然后遍历链表直到找到目标节点,如果找到就移除它或调整链接指向下一个节点。
阅读全文