Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 54. Spiral Matrix
題目:

解答:
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
int t = 0;
int b = matrix.size() - 1;
int l = 0;
int r = matrix[0].size() - 1;
vector<int> ret;
while (t <= b && l <= r) {
for (int i = l; i <= r; ++i) {
ret.push_back(matrix[t][i]);
}
t += 1;
for (int i = t; i <= b; ++i) {
ret.push_back(matrix[i][r]);
}
r -= 1;
if (t <= b) {
for (int i = r; i >= l; --i) {
ret.push_back(matrix[b][i]);
}
b -= 1;
}
if (l <= r) {
for (int i = b; i >= t; --i) {
ret.push_back(matrix[i][l]);
}
l += 1;
}
}
return ret;
}
};