所以我有一个 0.1,3.0,4.5,-1,3.0,-10.0,3.0,3.0 的列表我应该在下面的代码之后得到一个 0.1,3.0,4.5,-1.0,-10.0 的列表
public void removeDuplicates()
{
if (head == null)
return;
Node iter = head;
while (iter != null)
{
Node currNode = iter;
while (currNode != null && currNode.next != null)
{
if (iter.value == currNode.next.value)
{
currNode.next = currNode.next.next;
nItem--;
}
currNode = currNode.next;
}
iter = iter.next;
}
}
我什至有一段时间,直到我修复了一些东西并运行它,然后意识到这里也出了问题。
因为我现在得到 0.1,3.0,4.5,-1.0,-10.0,3.0。为什么最后一个 3.0 标记在一起?我首先认为它可能已经被循环/包裹,但意识到我没有做任何那样的事情。关于逻辑流程的建议?