leetcode_c++:Spiral Matrix(054)

原创 2016年05月31日 00:15:37

题目

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].


算法

复杂度:O(nm)


class Solution{
public:
    vector<int> spiralOrder(vector<vector<int> > &matrix){
        vector<int> result;
        if(matrix.empty()) 
            return result;
        int beginX=0,endX=matrix[0].size()-1;
        int beginY=0,endY=matrix.size()-1;

        while(true){
            //from left to right
            for(int i=beginX;i<=endX;++i)
                result.push_back(matrix[beginY][i]);
            if(++beginY>endY)  break;

            //from top to down
            for(int i=beginY;i<=endY;++i)
                result.push_back(matrix[i][endX]);
            if(beginX>--endX)  break;

            //form right to left
            for(int i=endX;i>=beginX;--i)
                result.push_back(matrix[endY][i]);
            if(beginY>--endY)  break;

            //form bottom to up
            for(int i=endY;i>=beginY;--i)
                result.push_back(matrix[i][beginX]);
            if(++beginX>endX) break;

        }

        return result;

    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

【LeetCode】54. Spiral Matrix 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/50771703Subject 出处:https://leetcode.com/pro...
  • crazy1235
  • crazy1235
  • 2016年05月15日 10:28
  • 5531

leetcode_c++: Spiral Matrix II(059)

题目Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For...
  • mijian1207mijian
  • mijian1207mijian
  • 2016年06月01日 00:28
  • 99

Leetcode_spiral-matrix-ii

地址:http://oj.leetcode.com/problems/spiral-matrix-ii/ Given an integer n, generate a square matr...
  • flyupliu
  • flyupliu
  • 2014年03月30日 14:58
  • 344

LeetCode-Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. F...
  • HolyDominat
  • HolyDominat
  • 2014年08月13日 20:25
  • 141

leetcode 054 —— Spiral Matrix

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or...
  • ziquanbang
  • ziquanbang
  • 2015年07月23日 19:35
  • 180

LeetCode 054 Spiral Matrix

题目 Given a matrix of m x n elements (m rows, n columns), return all elements of the matri...
  • seawade
  • seawade
  • 2014年02月09日 18:32
  • 465

LeetCode--Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. F...
  • shaya118
  • shaya118
  • 2015年01月12日 13:46
  • 382

LeetCode-Spiral Matrix II

受上一题启发 知道要keep四个变量 分别为四个角的边界 一层一层填充 public class Solution { public int[][] generateMatrix(i...
  • bsbcarter
  • bsbcarter
  • 2015年09月19日 05:00
  • 136

054 - Spiral Matrix

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or...
  • shuimuyq
  • shuimuyq
  • 2015年11月26日 18:27
  • 140

1105. Spiral Matrix (25) 排序、模拟

Spiral Matrix (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Thi...
  • a1eafall
  • a1eafall
  • 2016年04月06日 14:39
  • 276
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode_c++:Spiral Matrix(054)
举报原因:
原因补充:

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