输入一个链表,反转链表后,输出链表的所有元素。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
import java.util.Stack;
public class Solution {
public ListNode ReverseList(ListNode head) {
if (head == null) return null;
if (head.next == null)return head;
Stack<ListNode> temp = new Stack<>();
temp.push(head);
do {
ListNode ln = head.next;
temp.push(ln);
head = ln;
} while ((head.next != null));
ListNode newHead = temp.pop();
ListNode result = newHead;
do {
newHead.next = temp.pop();
newHead = newHead.next;
} while (!temp.isEmpty());
newHead.next = null;
return result;}
}