Lc206_反转链表
206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNode head) { Stack<Integer> stack = new Stack<Integer>(); while (head != null) { stack.push(head.val); head = head.next; } ListNode dummy = new ListNode(0); ListNode temp = dummy; while (!stack.isEmpty()) { temp.next = new ListNode(stack.pop()); temp = temp.next; } return dummy.next; } }
题目涉及到的知识点,栈 先进后出
不恋尘世浮华,不写红尘纷扰