-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsolution29.java
More file actions
37 lines (35 loc) · 937 Bytes
/
Copy pathsolution29.java
File metadata and controls
37 lines (35 loc) · 937 Bytes
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
32
33
34
35
36
37
package nowcoder;
import java.util.ArrayList;
public class solution29 {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> ret = new ArrayList<>();
int r1 = 0,r2 = matrix.length-1,c1 = 0,c2 = matrix[0].length-1;
while(r1 <= r2 && c1 <=c2)
{
for(int i = c1;i<=c2;i++)
{
ret.add(matrix[r1][i]);
}
for(int i =r1+1;i<=r2;i++)
{
ret.add(matrix[i][c2]);
}
if(r1!=r2)
{
for(int i = c2-1;i>=c1;i--)
{
ret.add(matrix[r2][i]);
}
}
if(c1!=c2)
{
for(int i = r2-1;i>r1;i--)
{
ret.add(matrix[i][c1]);
}
}
r1++;r2--;c1++;c2--;
}
return ret;
}
}