java单链表根据内容删除节点

方法名是这个publicbooleanremove(Objecto)这个方法就是说根据节点的内容,删除含有此内容的节点,是java语言来写linkedList单向链表或者... 方法名是这个public boolean remove(Object o)
这个方法就是说根据节点的内容,删除含有此内容的节点,是java语言来写
linkedList单向链表或者双向链表的方法都可以,拜托了
展开
 我来答
优就业张老师
2017-07-13 · TA获得超过1036个赞
知道小有建树答主
回答量:441
采纳率:88%
帮助的人:93.2万
展开全部

代码:

// 删除下标为index的节点
public void remove(int index) {
if (index >= modCount) {
// 抛异常
System.out.println("indexOutOfBoundsException!");// 最好自定义异常抛出,这里演示
return;
}
Node node = head;
// 如果节点为第一个节点
if (index == 0) {
head = head.next; // 将头节点指向第二个节点
modCount--;
return;
}

// 如果节点为最后一个节点,找到最后一个节点的前一个节点,不用管
if (index == modCount - 1) {
System.out.println("ddd");
// 找到最后一个节点的前一个节点
int j = 0;
while (node != null && j < index - 1) {
// 最后一个节点的前一个节点
node = node.next;
j++;
}
last = node; // 最后一个节点设置为前一个节点
modCount--;
return;
}

// 如果节点为中间节点
int j = 0;
while (node != null && j < index - 1) {
// 查找被删除的节点的前一个节点
node = node.next;
j++;
}
node.next = node.next.next; // 被删除节点的下一个节点设置为被删除节点的下下个节点
modCount--;
}
追问
不好意思,我是根据节点中的内容不是根据索引,不过谢谢啦,能告诉我根据节点中内容的方式吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式