class Solution {
public:
vector<int> spiralOrder(vector<vector<int> > &matrix) {
vector<int> result;
if(matrix.size() == 0) {
return result;
}
int m = matrix.size();
int n = matrix[0].size();
int count = m * n;
int i = 0, j = 0;
while(count) {
for(;j < n && matrix[i][j] != INT_MIN; ++j) {
result.emplace_back(matrix[i][j]);
matrix[i][j] = INT_MIN;
count--;
}
j--;
i++;
for(;i < m && matrix[i][j] != INT_MIN; ++i) {
result.emplace_back(matrix[i][j]);
matrix[i][j] = INT_MIN;
count--;
}
i--;
j--;
for(;j >=0 && matrix[i][j] != INT_MIN;--j) {
result.emplace_back(matrix[i][j]);
matrix[i][j] = INT_MIN;
count--;
}
j++;
i--;
for(;i >= 0 && matrix[i][j] != INT_MIN; --i) {
result.emplace_back(matrix[i][j]);
matrix[i][j] = INT_MIN;
count--;
}
i++;
j++;
}
return result;
}
};
4/08/2014
Leetcode -- Spiral Matrix
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment