码迷,mamicode.com
首页 > 其他好文 > 详细

链表:在不给出整个链表头结点的情况下,删除单链表中的某个节点

时间:2020-04-11 22:14:12      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:删除链表   public   bsp   new   不能   turn   有一个   表头   val   

 

问题描述:

有一个包含int型节点值的单链表,给定一个链表中的节点node,但不给定整个链表的头结点,删除链表中的某个结点。

 

算法实现:

class Node {

public int value;
public Node next;

public Node(int value) {
this.value = value;
}

}

public void removeWiredNode(Node node) {

if(node == null) {
return;
}

Node next = node.next;
if(next == null){
throw new RuntimeException("can‘t remove last node");
}

node.value = next.value;
node.next = next.next;
}

 

算法分析:

1.严格来说,无法删除,因无法找到前驱结点;

2.探讨删除的可行性,及不是对问题进行严格限制的方法,并给出解法中包含的特殊情况;

3.对末尾节点作出不能删除对提示,对非末尾节点进行节点值的替换。

 

链表:在不给出整个链表头结点的情况下,删除单链表中的某个节点

标签:删除链表   public   bsp   new   不能   turn   有一个   表头   val   

原文地址:https://www.cnblogs.com/heibingtai/p/12682507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!