在这个程序中,我在类 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;
}
}
不同类中的主函数如下所示。
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);
每次创建链表类的新对象都是一个好的做法,或者有更好的方法来做到这一点吗?提前感谢!
在这种情况下,如果对两个不同的列表执行操作,则必须创建两个不同的对象。 您可以使用复制,但在这里,它不起作用,因为如果您这样做,那么在一个列表中更新也会影响其他列表。