合并两个已排序的链表。有没有更好的方法在java中创建新的链表头?
在这个程序中,我在类LinkedList中创建了head节点合并两个已排序的链表。有没有更好的方法在java中创建新的链表头?,java,object,merge,linked-list,Java,Object,Merge,Linked List,在这个程序中,我在类LinkedList中创建了head节点 public class LinkedList { public class Node { public int data; public Node next; } Node Head=null void IntersectionOfTwoSortedLists(Node ListA, Node ListB){ while (ListA!=null && ListB!=null) {
public class LinkedList {
public class Node {
public int data;
public Node next;
}
Node Head=null
void IntersectionOfTwoSortedLists(Node ListA, Node ListB){
while (ListA!=null && ListB!=null) {
if (ListA.data == ListB.data){
System.out.println(ListA.data);
InsertAtEnd(ListA.data);
}
if(ListA.data<ListB.data)
ListA=ListA.next;
else
ListB=ListB.next;
}
}
另一个类中的主函数如下所示
public static void main(String[] args) {
LinkedList list = new LinkedList();
LinkedList list2= new LinkedList();
for(int i=0;i<n;i++){
list.InsertAtEnd(sc.nextInt());
}
System.out.println("Enter the list 2 elements");
for(int i=0;i<n;i++){
list2.InsertAtEnd(sc.nextInt());
}
LinkedList intersect= new LinkedList();
intersect.IntersectionOfTwoSortedLists(list.Head,list2.Head);
每次创建链表类的新对象都是一个很好的做法,还是有更好的方法?提前谢谢 如果在这种情况下对两个不同的列表执行操作,则必须创建两个不同的对象。您可以使用copy,但在您的情况下,它将不起作用,因为如果您这样做,则在一个列表中更新也会影响其他列表。由于您的代码已完全工作,但可能需要或可能不需要某些改进,我建议您使用而不是堆栈溢出。