Spiral Matrix
来源:互联网 发布:模糊控制算法matlab 编辑:程序博客网 时间:2024/05/19 06:50
题目:
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]
.
《剑指offer》上原题,但是我记得我都ac过了啊
http://www.programcreek.com/2013/01/leetcode-spiral-matrix-java/
public class Solution { public List<Integer> spiralOrder(int[][] matrix) { List<Integer> result = new ArrayList<Integer>(); if(matrix == null || matrix.length == 0) return result; int m = matrix.length; int n = matrix[0].length; int x=0; int y=0; while(m>0 && n>0){ //if one row/column left, no circle can be formed if(m==1){ for(int i=0; i<n; i++){ result.add(matrix[x][y++]); } break; }else if(n==1){ for(int i=0; i<m; i++){ result.add(matrix[x++][y]); } break; } //below, process a circle //top - move right for(int i=0;i<n-1;i++){ result.add(matrix[x][y++]); } //right - move down for(int i=0;i<m-1;i++){ result.add(matrix[x++][y]); } //bottom - move left for(int i=0;i<n-1;i++){ result.add(matrix[x][y--]); } //left - move up for(int i=0;i<m-1;i++){ result.add(matrix[x--][y]); } x++; y++; m=m-2; n=n-2; } return result; }}
0 0
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- 黑马程序员-----Foundation框架学习之NSString续
- 创建数据表
- C++中堆、栈数据区别
- pat1006Sign In and Sign Out (25)
- 0.IDA-基本操作
- Spiral Matrix
- UGUI学习笔记4——UI Events,Event Triggers
- Nginx Event模块
- 关于Maven的一些见解
- C# 获取操作系统相关信息
- linux文件处理命令——目录处理命令
- 二、制作第一个安卓应用
- Word Search
- CodeForces 416B Art Union