从调用链接列表中减去方法中传递的链接列表

时间:2016-10-06 07:41:35

标签: java methods linked-list

基本上这个问题的作用是将链接列表作为参数,如果两者中都存在相同的内容,则从调用链接列表中减去其内容。我必须这样做(所以不要改变参数)。

例如:l1.subtractList(l2)将从l1中减去l2的内容。

这里的问题是调用链接列表有2个相同的数字,并且该数字也在作为参数传递的链接列表中。我只需删除它的一个实例。

我设法减去除了重复数字之外的所有内容,但我不确定我做错了什么。请记住,这对我来说是一个非常新的主题,所以我可能会偏离基础。但我感谢您提供的任何和所有帮助。感谢。

 public void subtractList(LinkedList list)
 {
     Node current = head;
     Node<Integer> temp = list.getFirst();
     Integer count = -1;

    while (current != null)
        if (current == temp){
            count++;
            list.listRemove(count);
            temp = list.getFirst();
         }
        else
       {  
        current = current.getNext();    
       }

}

1 个答案:

答案 0 :(得分:0)

什么是listRemove方法?你为什么需要数?只需遍历参数list并检查其元素temp是否存在于调用链接列表中。您将需要一个外部循环遍历作为参数传递的列表,并且内部循环遍历调用列表以检查需要删除的元素的值,并在需要时将其删除

while(temp!=null)
{
while(current!=null){
  //Check if element exists in list
  //If yes, remove it from the calling list
}
//Repeat
temp = temp.getNext();
}