给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。
模拟
代码语言:javascript复制class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
//保存结果的
List<Integer> list=new ArrayList();
//大模拟
//定义左边界
int left=0;
//定义右便捷
int right=matrix[0].length-1;
//定义下边界
int down=matrix.length-1;
//定义上边界
int up=0;
while(true){
//向右走
for(int i=left;i<=right;i ){
list.add(matrix[up][i]);
}
up ;
if(up>down)break;
//向下走
for(int i=up;i<=down;i ){
list.add(matrix[i][right]);
}
right--;
if(right<left) break;
//向左走
for(int i=right;i>=left;i--){
list.add(matrix[down][i]);
}
down--;
if(down<up)break;
//向上走
for(int i=down;i>=up;i--){
list.add(matrix[i][left]);
}
left ;
if(left>right)break;
}
return list;
}
}