Leetcode 54螺旋矩阵

题目:

Leetcode 54螺旋矩阵_第1张图片

思路:

 四个for代表四个方向

class Solution{
    public List spiralOrder(int[][] matrix) {
        List list = new ArrayList();
        if(matrix == null || matrix.length == 0)
            return list;
        int m = matrix.length;
        int n = matrix[0].length;
        int i = 0;

        //统计矩阵从外向内的层数,如果矩阵非空,那么它的层数至少为1层
        int count = (Math.min(m, n)+1)/2;
        //从外部向内部遍历,逐层打印数据
        while(i < count) {
        //右边
            for (int j=i;j=i&&(m-1-i != i);j--){
                list.add(matrix[m-i-1][j]);
            }
            //上面
            for (int j=m-2-i;j>i&& (n-1-i) != i;j--){
                list.add(matrix[j][i]);
            }
            i++;
        }
        return list;
    }

}


Leetcode 54螺旋矩阵_第2张图片

Leetcode 54螺旋矩阵_第3张图片 

 

你可能感兴趣的:(java)