反转链表
反转链表
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; } }