Проблемы, с которыми я столкнулся, это функции dcatenate_recursion () и catenate (), я проверяю вывод из визуализатора java, вывод правильный, но IDEA выдает неправильный вывод, пожалуйста, помогите. Мой вывод 3 -> 2 -> 1 -> 6 -> 5 -> 4 -> 6 -> 5 -> 4, но требуется 3 -> 2 -> 1 -> 6 -> 5 -> 4
public class List {
private int first;
private List next;
private int size=0;
public List(int first, List next){
this.first=first;
this.next=next;
}
int get(int i){
if(i==0){
return first;
}
return next.get(i-1);
}
private int size(){
List p= this;
while(p!=null){
size++;
p=p.next;
}
return size;
}
public String toString(){
List p= this;
String list="";
while(p.next!=null){
list+=p.first+" -> ";
p=p.next;
}
list+=p.first;
return list;
}
//Not sure, output is correct in java visualizer?
public static List dcatenate_recursion(List A,List B){
if(A==null&&B!=null){
return new List(B.first,dcatenate_recursion(A,B.next));
}
if(A==null&&B==null){
return null;
}
return new List(A.first,dcatenate_recursion(A.next,B));
}
//Not sure, output is correct in java visualizer?
public static List catenate(List A, List B){
List p= new List(A.first,null);
List q=p;
while(A.next!=null){
A=A.next;
p.next=new List(A.first,null);
p=p.next;
}
p.next=new List(B.first,null);
p=p.next;
while(B.next!=null){
B=B.next;
p.next=new List(B.first,null);
p=p.next;
}
return q;
}
public static void main(String[] args){
//Constructing a list with order of 3->2->1
List link= new List(1,null);
link= new List(2,link);
link= new List(3,link);
List link1= new List(4,null);
link1= new List(5,link1);
link1= new List(6,link1);
System.out.println(dcatenate_iteration(link,link1));
System.out.println(dcatenate_recursion(link,link1));
System.out.println(catenate(link,link1));
}