【发布时间】:2019-10-25 12:16:58
【问题描述】:
我正在尝试编写一个名为 copyAlternate 的方法,它从单个链表中复制备用元素并将它们放入另一个作为方法中的参数发送的单个链表中
例如:如果第一个单链表是(4,6,10,12,2) 该方法应该生成一个带有 (4,10,2) 的单链表
这是我的代码:
public boolean copyAlternate(SingleLinkedList<E> list1)
{
if(head==null)
return false;
Node <E> temp = head;
ArrayList <E> a1 = new ArrayList<E>();
while(temp!=null) {
a1.add(temp.data);
temp=temp.next;
}
Node<E> tmp1=list1.head;
for(int i=0;i<a1.size();i=i+2){
if(list1.head==null) {
list1.head =new Node(a1.get(i));
tmp1=head;
size++;
}
else
{
tmp1.next=new Node(a1.get(i));
size++;
tmp1=tmp1.next;
}
}
return true;
}
我从方法不是 (4,10,2) 中只得到了 4 个 那么我的代码有什么问题?
【问题讨论】:
-
如果不同时查看 SingleLinkedList 和 Node 类,很难更正代码。但有一点是肯定的,你不需要另一个 ArrayList,你可以直接将替代节点从一个列表复制到另一个。
标签: java generics singly-linked-list