fui*_*iii 7 java linked-list dummy-data
一个问题,要求您删除链接列表中的中间节点,只提供该节点.解决问题的方法是复制middle.next.element到middle.element,然后删除middle.next通过做middle.next=middle.next.next
有一种特殊情况,即middle.next是最后一个节点.答案说你可以将中间节点标记为虚拟节点.
我不熟悉"虚拟"的想法.如何将节点标记为虚拟节点以及如何在其他情况下使用虚拟节点?
一般虚拟数据怎么样?
这个问题没有通用的答案。链表的实现必须已经定义了虚拟节点的概念并一致地使用它。实现此目的的典型方法是声明一个特殊的虚拟实例:
public class Node {
public static final Object DUMMY = new Object();
...
Run Code Online (Sandbox Code Playgroud)
并分配middle.element = DUMMY;
正如您可以想象的那样,除非 API 实现的所有其余部分都遵守此约定,否则这不会产生任何效果。
如果您的列表被指定为无法包含null元素,那么您也可以分配middle.element = null,但故事的其余部分保持不变。
| 归档时间: |
|
| 查看次数: |
2765 次 |
| 最近记录: |