实现思路:将链表中的元素依次存入栈中,跟据栈的后进先出原则,从栈中依次拿出栈顶元素再以尾插法的方式式存入链表中。
public static Linked reserve(Linked l){
Stack<Node> stack=new Stack<Node>();
for(Node n = l.first;n!=null;n=n.next){
stack.add(n);
}
l=new Linked();
while(!stack.isEmpty()){
l.add(stack.pop().val);
}
return l;
}
注意:一定要采用尾插法才能实现反转。