剑指offer--29顺时针打印矩阵
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer--29顺时针打印矩阵相关的知识,希望对你有一定的参考价值。
题目
代码
public class Solution {
public int[] spiralOrder(int[][] matrix) {
int row = matrix.length;
if (row == 0) return new int[0];
int col = matrix[0].length;
int[] res = new int[row * col];
int idx = 0;
int left = 0, top = 0, right = col - 1, bottom = row - 1;
while (true) {
//从左往右走,自增符号在前意思是先自增运算
for (int i = left; i <= right; i++) {res[idx++] = matrix[top][i];}
if (++top > bottom) break;
//从上往下走
for (int i = top; i <= bottom; i++) {res[idx++] = matrix[i][right];}
if (--right < left) break;
//从右往左走
for (int i = right; i >= left; i--) { res[idx++] = matrix[bottom][i];}
if (--bottom < top) break;
//从下往上走
for (int i = bottom; i >= top; i--) { res[idx++] = matrix[i][left]; }
if (++left > right) break;
}
return res;
}
}
结果
以上是关于剑指offer--29顺时针打印矩阵的主要内容,如果未能解决你的问题,请参考以下文章