题目链接:https://leetcode.cn/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-100-liked
模拟
class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
int n = matrix.length;
int m = matrix[0].length;
//存储答案
List<Integer> ans = new ArrayList<Integer>();
//上下左右
int u = 0, d = n - 1, l = 0, r = m - 1;
while(true){
//左 -> 右
for(int i = l; i <= r; i++){
ans.add(matrix[u][i]);
}
if(++u > d) break;
//上 -> 下
for(int i = u; i <= d; i++){
ans.add(matrix[i][r]);
}
if(--r < l) break;
//右 -> 左
for(int i = r; i >= l; i--){
ans.add(matrix[d][i]);
}
if(--d < u) break;
//下 -> 上
for(int i = d; i >= u; i--){
ans.add(matrix[i][l]);
}
if(++l > r) break;
}
return ans;
}
}
还剩81题!