forked from kothariji/competitive-programming
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path(leetcode)SpiralMatrix.cpp
31 lines (28 loc) · 964 Bytes
/
(leetcode)SpiralMatrix.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> ans;
int c=0,i,j,n=matrix.size(),m=matrix[0].size(),p=0;
while(p<n*m)
{
for(i=c;i<m-c-1;i++)
if(matrix[c][i]!=101)
ans.push_back(matrix[c][i]),matrix[c][i]=101,p++;
else return ans;
for(j=c;j<n-1-c;j++)
if(matrix[j][m-1-c]!=101)
ans.push_back(matrix[j][m-1-c]),matrix[j][m-1-c]=101,p++;
else return ans;
for(i=m-1-c;i>=c;i--)
if(matrix[n-1-c][i]!=101)
ans.push_back(matrix[n-1-c][i]),matrix[n-1-c][i]=101,p++;
else return ans;
for(j=n-2-c;j>c;j--)
if(matrix[j][c]!=101)
ans.push_back(matrix[j][c]),matrix[j][c]=101,p++;
else return ans;
c++;
}
return ans;
}
};