这道题难在这个while里面的if判断,这里很精秒
import java.util.ArrayList;
import java.util.List;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> result=new ArrayList<>();
if(matrix==null)
return result;
int i=0,j=0,idx=0,jdx=1;
int count=matrix.length*matrix[0].length;
while(count-->0){
result.add(matrix[i][j]);
matrix[i][j]=-1;
if(matrix[(i+idx+matrix.length)%matrix.length][(j+jdx+matrix[0].length)%matrix[0].length]==-1){
int temp=jdx;
jdx=-idx;
idx=temp;
}
j+=jdx;
i+=idx;
}
return result;
}
}
剑指offer 顺时针打印矩阵
最新推荐文章于 2020-11-26 08:27:19 发布