【发布时间】:2019-06-08 17:32:45
【问题描述】:
下面是删除单链表最后一个节点的函数。 我不明白,我们为什么要创建一个临时节点?我尝试在没有临时节点的情况下执行此操作并使用节点本身,但输出不会删除最后一个节点。 另外,既然我们使用的是临时节点,为什么我们返回节点而不是临时节点?我们没有对节点进行任何更改,那么节点是如何受到影响的呢?
public Node deleteLastNode(Node node)
{
if (node.next == null || node == null)
return null;
Node temp = node;
while (temp.next.next != null)
{
temp = temp.next;
}
temp.next = null;
return node;
}
【问题讨论】:
-
没有临时节点你将如何遍历列表?