反转链表
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&&tqId=11168&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
解法一、栈
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;
}
}