File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed
Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * <a href="https://leetcode.com/problems/reorder-list/">week11-2. reorder-list</a>
3+ * <li>Description: Reorder the list to be on the following form: L0 → Ln → L1 → Ln - 1 → L2 → ... </li>
4+ * <li>Topics: Linked List, Two Pointers, Stack, Recursion </li>
5+ * <li>Time Complexity: O(N), Runtime 5ms </li>
6+ * <li>Space Complexity: O(N), Memory 47.96MB </li>
7+ */
8+ class Solution {
9+ public void reorderList (ListNode head ) {
10+ Deque <ListNode > deque = new ArrayDeque <>();
11+
12+ ListNode node = head ;
13+ while (node != null ) {
14+ deque .addLast (node );
15+ node = node .next ;
16+ }
17+
18+ ListNode curr = deque .removeFirst ();
19+ while (!deque .isEmpty ()) {
20+ curr .next = deque .removeLast ();
21+ curr = curr .next ;
22+ if (!deque .isEmpty ()) {
23+ curr .next = deque .removeFirst ();
24+ curr = curr .next ;
25+ }
26+ }
27+ curr .next = null ;
28+ }
29+ }
You can’t perform that action at this time.
0 commit comments