解法一、栈
import java.util.*;
public class Solution {
public ListNode ReverseList(ListNode head) {
if (head == null)
return null;
Stack<ListNode> stack = new Stack<>();
while (head != null) {
stack.push(head);
head = head.next;
}
ListNode nh = stack.peek();
while (!stack.isEmpty()) {
ListNode pre = stack.pop();
if (!stack.isEmpty()) {
pre.next = stack.peek();
} else {
pre.next = null;
}
}
return nh;
}
} 
京公网安备 11010502036488号