54. 螺旋矩阵


categories:[Blog,算法]


54. 螺旋矩阵

难度中等
给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:[1,2,3,4,8,12,11,10,9,5,6,7]

class Solution {
    public List<Integer> spiralOrder(int[][] matrix) &#123;
        List<Integer> order = new ArrayList<Integer>();
        if (matrix == null || matrix.length == 0 || matrix[0].length == 0) &#123;
            return order;
        &#125;
        int rows = matrix.length, columns = matrix[0].length;
        int left = 0, right = columns - 1, top = 0, bottom = rows - 1;
        while (left <= right && top <= bottom) &#123;
            for (int column = left; column <= right; column++) &#123;
                order.add(matrix[top][column]);
            &#125;
            for (int row = top + 1; row <= bottom; row++) &#123;
                order.add(matrix[row][right]);
            &#125;
            if (left < right && top < bottom) &#123;//不加一行的时候有重复问题
                for (int column = right - 1; column > left; column--) &#123;
                    order.add(matrix[bottom][column]);
                &#125;
                for (int row = bottom; row > top; row--) &#123;
                    order.add(matrix[row][left]);
                &#125;
            &#125;
            left++;
            right--;
            top++;
            bottom--;
        &#125;
        return order;
    &#125;

// 作者:LeetCode-Solution
// 链接:https://leetcode-cn.com/problems/spiral-matrix/solution/luo-xuan-ju-zhen-by-leetcode-solution/
// 来源:力扣(LeetCode)
// 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
&#125;

解析image.png


文章作者:   future
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 future !
 上一篇
204. 计数质数 204. 计数质数
204. 计数质数难度简单统计所有小于非负整数 *n *的质数的数量。 示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 示例 2:输入:n = 0输出:0 示例 3:输入:n
2021-02-28 future
下一篇 
236. 二叉树的最近公共祖先 236. 二叉树的最近公共祖先
categories:[Blog,算法] 236. 二叉树的最近公共祖先难度中等给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,
2021-02-28 future
  目录