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