题目
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例:
代码
class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
List<Integer> res = new ArrayList<>();
int left = 0, right = matrix[0].length-1;
int up = 0, down = matrix.length-1;
while(left <= right && up <= down){
for(int i = left; i <= right; i++){
res.add(matrix[up][i]);
}
up++;
for(int i = up; i <= down; i++){
res.add(matrix[i][right]);
}
right--;
for(int i = right; i >= left && up<=down; i--){
res.add(matrix[down][i]);
}
down--;
for(int i = down; i >= up && left <= right; i--){
res.add(matrix[i][left]);
}
left++;
}
return res;
}
}
|