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