From 9b2ab2d34ba61c828775d688dd7e86d329f304a1 Mon Sep 17 00:00:00 2001 From: delight010 Date: Thu, 25 Sep 2025 20:47:04 +0900 Subject: [PATCH 1/2] solve problem --- invert-binary-tree/delight010.swift | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 invert-binary-tree/delight010.swift diff --git a/invert-binary-tree/delight010.swift b/invert-binary-tree/delight010.swift new file mode 100644 index 000000000..fef9cd63d --- /dev/null +++ b/invert-binary-tree/delight010.swift @@ -0,0 +1,41 @@ +public class TreeNode { + public var val: Int + public var left: TreeNode? + public var right: TreeNode? + public init() { self.val = 0; self.left = nil; self.right = nil; } + public init( val: Int) { self.val = val; self.left = nil; self.right = nil; } + public init( val: Int, * left: TreeNode?, * right: TreeNode?) { + self.val = val + self.left = left + self.right = right + } +} + +class Solution { + // Time O(n) + // Space O(n) + func invertTree(_ root: TreeNode?) -> TreeNode? { + guard let root = root else { + return nil + } + + var queue: [TreeNode] = [root] + + while queue.isEmpty == false { + let current = queue.removeFirst() + + if let left = current.left { + queue.append(left) + } + + if let right = current.right { + queue.append(right) + } + + (current.left, current.right) = (current.right, current.left) + } + + return root + } +} + From 138d4bbc50cff23bc39a04318cc36627411cc356 Mon Sep 17 00:00:00 2001 From: delight010 Date: Fri, 26 Sep 2025 19:59:02 +0900 Subject: [PATCH 2/2] solve problem --- course-schedule/delight010.swift | 38 ++++++++++++++++++++++++++++++++ jump-game/delight010.swift | 16 ++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 course-schedule/delight010.swift create mode 100644 jump-game/delight010.swift diff --git a/course-schedule/delight010.swift b/course-schedule/delight010.swift new file mode 100644 index 000000000..6afa0b053 --- /dev/null +++ b/course-schedule/delight010.swift @@ -0,0 +1,38 @@ +class Solution { + // Time O(V + E) + // Space O(V + E) + func canFinish(_ numCourses: Int, _ prerequisites: [[Int]]) -> Bool { + var indegree: [Int] = Array(repeating: 0, count: numCourses) + var queue: [Int] = [] + var graph: [[Int]] = Array(repeating: [], count: numCourses) + + for i in 0.. Bool { + var maxReachIndex = 0 + for i in 0.. maxReachIndex { + return false + } + maxReachIndex = max(maxReachIndex, nums[i] + i) + } + + return maxReachIndex >= nums.count - 1 + } +} +