Java 我还应该如何调用反向函数?在Rlist上执行反转时,输出仅显示一个链接

Java 我还应该如何调用反向函数?在Rlist上执行反转时,输出仅显示一个链接,java,list,add,reverse,geektool,Java,List,Add,Reverse,Geektool,主要功能: public static void main(String[] args) { AdditionLL Alist = new AdditionLL(); AdditionLL Blist = new AdditionLL(); AdditionLL Rlist = new AdditionLL(); Alist.addNode(3); Alist.addNode(7); Alist.addNode(0); Alist

主要功能:

public static void main(String[] args) {

    AdditionLL Alist = new AdditionLL();
    AdditionLL Blist = new AdditionLL();
    AdditionLL Rlist = new AdditionLL();

    Alist.addNode(3); 
    Alist.addNode(7); 
    Alist.addNode(0); 
    Alist.addNode(4); 
    Alist.addNode(9); 

    Blist.addNode(5); 
    Blist.addNode(3); 
    Blist.addNode(2); 

    System.out.print("First list: ");
    Alist.printLL(Alist.head);
    Rlist.reverseLLtl(Rlist.head, null);                // this works
    System.out.println();
    System.out.print("Second list: ");
    Blist.printLL(Blist.head);
    System.out.println();

    Node Cnode = Rlist.addList(Alist.head, Blist.head, Rlist);
    Rlist.reverseLLtl(Rlist.head, null);              // THIS DOES NOT REVERSE THE ELEMENTS
    System.out.print("Resultant list: ");
    Rlist.printLL(Cnode);
}
Node addList(Node A, Node B, AdditionLL C) {

    int res1 = 0;
    int res2 = 0;
    while(A != null) {
        res1 = (res1 + A.data)*10;
        A = A.next;
    }

    while(B != null) {
        res2 = (res2 + B.data)*10;
        B = B.next;
    }

    int result = res1 + res2;
    result = result/10;

    int data = 0;
    while(result > 0) {
        data = result % 10;
        C.addNode(data);
        result = (int)Math.floor(result/10);
    }

    return C.head;
}
addList函数:

public static void main(String[] args) {

    AdditionLL Alist = new AdditionLL();
    AdditionLL Blist = new AdditionLL();
    AdditionLL Rlist = new AdditionLL();

    Alist.addNode(3); 
    Alist.addNode(7); 
    Alist.addNode(0); 
    Alist.addNode(4); 
    Alist.addNode(9); 

    Blist.addNode(5); 
    Blist.addNode(3); 
    Blist.addNode(2); 

    System.out.print("First list: ");
    Alist.printLL(Alist.head);
    Rlist.reverseLLtl(Rlist.head, null);                // this works
    System.out.println();
    System.out.print("Second list: ");
    Blist.printLL(Blist.head);
    System.out.println();

    Node Cnode = Rlist.addList(Alist.head, Blist.head, Rlist);
    Rlist.reverseLLtl(Rlist.head, null);              // THIS DOES NOT REVERSE THE ELEMENTS
    System.out.print("Resultant list: ");
    Rlist.printLL(Cnode);
}
Node addList(Node A, Node B, AdditionLL C) {

    int res1 = 0;
    int res2 = 0;
    while(A != null) {
        res1 = (res1 + A.data)*10;
        A = A.next;
    }

    while(B != null) {
        res2 = (res2 + B.data)*10;
        B = B.next;
    }

    int result = res1 + res2;
    result = result/10;

    int data = 0;
    while(result > 0) {
        data = result % 10;
        C.addNode(data);
        result = (int)Math.floor(result/10);
    }

    return C.head;
}
}

我还应该如何调用反向函数?在Rlist上执行反转时,输出仅显示一个链接。我不明白在这两种情况下函数的调用是如何不同的。 无反向打印的Rlist完美无瑕

该代码用于:

输入: 列表1:5->6->3//表示数字365 清单2:8->4->2//表示数字248 输出: 结果列表:3->1->6//表示数字613 说明:365+248=613