[英]To merge two sorted linked lists. Is there a better way to create new Linked list heads in java?
在这个程序中,我在 class LinkedList 中创建了头节点。
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;
}
}
和主要的 function 在不同的 class 看起来像这样。
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);
每次创建一个新的 object 的链表 class 是一个好习惯还是有更好的方法来做到这一点? 提前致谢!
如果在这种情况下对两个不同的列表执行操作,则必须创建两个不同的对象。 您可以使用副本,但在您的情况下,它不会起作用,因为如果您这样做,那么在一个列表中更新也会影响其他列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.