LeetCode 054 Spiral Matrix

原创 2015年11月21日 20:30:43

题目描述

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.

For example,
Given the following matrix:

[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]

You should return [1,2,3,6,9,8,7,4,5].

代码

    public static List<Integer> spiralOrder(int[][] matrix) {

        List<Integer> result = new ArrayList<Integer>();

        if (matrix == null || matrix.length == 0) {
            return result;
        }

        int startx = 0, endx = matrix.length - 1;
        int starty = 0, endy = matrix[0].length - 1;

        while (startx <= endx && starty <= endy) {

            for (int y = starty; y <= endy; y++) {
                result.add(matrix[startx][y]);
            }

            for (int x = startx + 1; x <= endx; x++) {
                result.add(matrix[x][endy]);
            }

            if (startx == endx || starty == endy) {
                break;
            }

            for (int y = endy - 1; y >= starty; y--) {
                result.add(matrix[endx][y]);
            }

            for (int x = endx - 1; x >= startx + 1; x--) {
                result.add(matrix[x][starty]);
            }

            startx++;
            starty++;
            endx--;
            endy--;
        }

        return result;
    }
版权声明:如果文章有错误,欢迎评论或私信指出,谢谢~

LeetCode OJ算法题(五十三):Spiral Matrix

题目: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in ...
  • op_yu
  • op_yu
  • 2014年08月07日 20:59
  • 246

LeetCode | Spiral Matrix(顺时针打印矩阵)

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or...
  • a45872055555
  • a45872055555
  • 2014年08月11日 11:11
  • 854

Spiral Matrix问题及解法

问题描述: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix i...
  • u011809767
  • u011809767
  • 2017年07月27日 21:57
  • 65

Spiral Matrix II(旋转矩阵)

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For...
  • cow__sky
  • cow__sky
  • 2014年03月07日 21:31
  • 734

Spiral Matrix II 产生正方形的旋转矩阵@LeetCode

package Level3; /** * Spiral Matrix II * * Given an integer n, generate a square matrix filled ...
  • hellobinfeng
  • hellobinfeng
  • 2013年11月09日 04:13
  • 2055

leetcode 54 54. Spiral Matrix(矩阵顺时针绕圈输出)

思路: 我是开辟了一个和原矩阵同样大小的矩阵temp来存放是否输出过的标志位,然后按照向右,向左,向上,向下的顺时针顺序来挨个输出,虽然空间复杂度大了一点,但是好处是思路比较简单,不容易错误。 ...
  • u010453704
  • u010453704
  • 2017年01月02日 09:21
  • 184

【LeetCode-面试算法经典-Java实现】【070-Set Matrix Zeroes(矩阵置零)】

【070-Set Matrix Zeroes(矩阵置零)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a m x n matrix, if an eleme...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月09日 06:34
  • 2255

LeetCode—*Spiral Matrix问题,主要是用到了方向矩阵,很创意

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or...
  • xietingcandice
  • xietingcandice
  • 2015年03月29日 22:12
  • 564

Leetcode刷题记——54. Spiral Matrix(螺旋矩阵)

一、题目叙述: Given a matrix of m x n elements (m rows, n columns), return all elements of ...
  • sunshine0_0
  • sunshine0_0
  • 2017年02月23日 19:00
  • 92

Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)

1.问题描述  写一个高效的算法,从一个m×nm\times n的整数矩阵中查找出给定的值,矩阵具有如下特点:    每一行从左到右递增。 每一列从上到下递增。 2. 方法与思路2.1 二分查找法 ...
  • Jeanphorn
  • Jeanphorn
  • 2015年07月23日 20:41
  • 3105
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode 054 Spiral Matrix
举报原因:
原因补充:

(最多只允许输入30个字)