题解 | #顺时针打印矩阵#
顺时针打印矩阵
https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a
import java.util.*;
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> result = new ArrayList<>();
if(matrix.length == 0) return result;
int up = 0;
int down = matrix.length - 1;
int left = 0;
int right = matrix[0].length - 1;
while(up <= down && left <= right){
for(int i = left; i <= right; i ++){
result.add(matrix[up][i]);
}
up ++;
if(up > down) break;
for(int i = up; i <= down; i ++){
result.add(matrix[i][right]);
}
right --;
if(left > right) break;
for(int i = right; i >= left; i --){
result.add(matrix[down][i]);
}
down --;
if(up > down) break;
for(int i = down; i >= up; i--){
result.add(matrix[i][left]);
}
left ++;
if(left > right) break;
}
return result;
}
}
