Skip to content

Commit 43d922d

Browse files
committed
Create 0054-spiral-matrix.swift
1 parent 32bb838 commit 43d922d

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

swift/0054-spiral-matrix.swift

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* Question Link: https://leetcode.com/problems/spiral-matrix/
3+
*/
4+
5+
class Solution {
6+
func spiralOrder(_ matrix: [[Int]]) -> [Int] {
7+
var res = [Int]()
8+
var l = 0
9+
var r = matrix[0].count
10+
var t = 0
11+
var b = matrix.count
12+
while l < r && t < b {
13+
for i in l..<r {
14+
res.append(matrix[t][i])
15+
}
16+
t += 1
17+
for i in t..<b {
18+
res.append(matrix[i][r - 1])
19+
}
20+
r -= 1
21+
if !(l < r && t < b) {
22+
break
23+
}
24+
for i in stride(from: r - 1, to: l - 1, by: -1) {
25+
res.append(matrix[b - 1][i])
26+
}
27+
b -= 1
28+
for i in stride(from: b - 1, to: t - 1, by: -1) {
29+
res.append(matrix[i][l])
30+
}
31+
l += 1
32+
}
33+
return res
34+
}
35+
}

0 commit comments

Comments
 (0)