【Leetcode刷题篇】剑指offer29 顺时针打印矩阵
发布日期:2021-06-29 15:35:04 浏览次数:2 分类:技术文章

本文共 1085 字,大约阅读时间需要 3 分钟。

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

示例 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 int[] spiralOrder(int[][] matrix) {
int row = matrix.length; if (row == 0) {
return new int[0]; } int[] res = new int[matrix.length*matrix[0].length]; int index = 0; int tR = 0; int tC = 0; int dR = matrix.length-1; int dC = matrix[0].length-1; //开始 while(true) {
// 从左往右 for(int i=tC;i<=dC;i++) {
res[index++] = matrix[tR][i]; } if(++tR>dR) {
break; } // 从上至下 for(int i=tR;i<=dR;i++) {
res[index++] = matrix[i][dC]; } if(--dC
=tC;i--) {
res[index++] = matrix[dR][i]; } if(--dR
=tR;i--) {
res[index++] = matrix[i][tC]; } // 再次判断 if(++tC>dC) {
break; } } return res; } }

转载地址:https://codingchaozhang.blog.csdn.net/article/details/111187607 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Leetcode刷题篇】打印之字形矩阵
下一篇:【Leetcode刷题篇】leetcode48 旋转图像(旋转矩阵)

发表评论

最新留言

不错!
[***.144.177.141]2024年04月11日 00时42分42秒