利用栈先进后出的特性完成题目
反转链表
http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca
利用栈先进后出的特性,先压栈,再弹栈,将最后一个弹出来的(也就是之前的链表头)的next赋值为null
import java.util.Stack;
public class Solution {
public ListNode ReverseList(ListNode head) {
Stack<ListNode> record = new Stack<ListNode>();
ListNode pointer = head;
if (head == null) {
return null;
}
while (pointer != null) {
record.push(pointer);
pointer = pointer.next;
}
head = record.pop();
pointer = head;
while (!record.isEmpty()) {
pointer.next = record.pop();
pointer = pointer.next;
}
pointer.next = null;
return head;
}
}