From 6e6fd022c58bf32922297935dcdf02c21db6c21b Mon Sep 17 00:00:00 2001 From: Lucas Arano <124523402+lucasarano@users.noreply.github.com> Date: Thu, 16 May 2024 17:35:27 -0400 Subject: [PATCH] Create 0143-reorder-list.swift Solved leetcode 143. Reorder List for Swift --- swift/0143-reorder-list.swift | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 swift/0143-reorder-list.swift diff --git a/swift/0143-reorder-list.swift b/swift/0143-reorder-list.swift new file mode 100644 index 000000000..f0cfe2d69 --- /dev/null +++ b/swift/0143-reorder-list.swift @@ -0,0 +1,21 @@ +import DequeModule + +class Solution { + func reorderList(_ head: ListNode?) { + var queue = Deque() + var curr = head + while curr != nil { + queue.append(curr!) + curr = curr!.next + } + var lastNode: ListNode? + while !queue.isEmpty { + let leftNode = queue.popFirst() + let rightNode = queue.popLast() + rightNode?.next = nil + leftNode?.next = rightNode + lastNode?.next = leftNode + lastNode = rightNode + } + } +}