public class Demo2 {
//判断链表中key关键字是否存在链表中
public boolean contains(int key) {
for (LinkedNode node = head;
node != null; node = node.next) {
if (node.data == key) {
return true;
}
}
return false;
}
//删除第一次出现关键字key的节点
public void remove(int key) {
//空链表
if (head == null) {
return;
} else if (head.data == key) {
head = head.next;
return;
}
LinkedNode prve = searchPrve(key);
prve.next = prve.next.next;
}
//删除所有指定元素
public void removeAll(int key) {
if (head == null) {
return;
}
while (head.data == key) {
//如果删除元素在链表头部
if (head.next == null) {
return;
}
head = head.next;
}
LinkedNode prve = searchPrve(key);
while (prve != null) {
if (prve.next.next == null) {
//删除元素在最后
prve.next = null;
return;
} else {
prve.next = prve.next.next;
prve = searchPrve(key);
}
}
}
}
删除链表指定的所有元素
最新推荐文章于 2022-11-07 17:01:59 发布