如何以相反的顺序打印 LinkedList Node 对象

How to print LinkedList Node object in reverse order

在下面的方法reverse()中,我想访问Node的元素并将它们添加到ArrayList中。之后,使用循环,它将以相反的顺序打印.

public void reverse(){

            Node e = head;
            ArrayList<E> s = new ArrayList<E>();
            while(e!=null){

                s.add(e.element);
                e= e.next;
            }
            for (int i = count-1; i >= 0; i--) {
                System.out.print (""+s.get(i));
            }
            System.out.println("");

    }

但是,s.add(e.element) ; 给出了一个错误。 这是节点 class,

public class Node<E> {
    E element;
    Node<E> next;

    public Node(E element){
        this.element=element;
        next =null;
    }
}

和链表class

     public class LinkedListStack<E> implements Stack<E>{
            Node<E> head;
            Node<E> tail;
            int count=-1;

            public LinkedListStack() {
               head=tail=null;
            }

     public void push(E element) {
            Node<E> newNode = new Node<>(element);
            if(count==-1){
                head=tail=newNode;
                count++;
            }
            else{
                newNode.next=head;
                head = newNode;
            }
            count++;
        }
             public void reverse(){

                Node e = head;
                ArrayList<E> s = new ArrayList<E>();
                while(e!=null){

                    s.add(e.element);
                    e= e.next;
                }
                for (int i = count-1; i > 1; i--) {
                    System.out.print (""+s.get(i));
                }
                System.out.println("");

            }
}

如果有人解释添加对象的错误,我将不胜感激

ArrayList 中的元素详细信息。

您正在使用通用节点类型作为原始类型:

Node e = head;

应该是

Node<E> e = head;