void deleteDups(LinkedListNode n)
HashSet<Integer> set = new HashSet<Integer>();
LinkedListNode previous = null;
while(n!=null){
if(set.contains(n.data)){
previous.next = n.next;
}else {
set.add(n.data);
previous = n;
}
n = n.next;
}
}
此代码片段用于删除链表中的重复元素。
我一直在破解编码面试时浏览链表概念。由于只有代码片段可用,我无法理解流程以及第一行中的 LinkedListNode n 实际上来自哪里。我可以理解他们正在将整个链表作为参数传递,如果有人可以告诉我该 LinkedListNode 的代码是什么,那将很有帮助。提前谢谢你。
LinkedList 遍历:给定列表的头部(起始节点(,您可以遍历整个列表。每个当前节点将具有 nextnode 的信息,可以通过 current.next 访问这些信息。
在你的代码中,LinkedListNode 'n' 是需要删除重复项的列表的起始节点(头(