博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 29. 顺时针打印矩阵
阅读量:4033 次
发布时间:2019-05-24

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

题目描述

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

示例 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]

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Java

class Solution {
public int[] spiralOrder(int [][] matrix){
if(matrix==null) return null; int row=matrix.length; if(row==0) return new int[0]; int col=matrix[0].length; int [] res=new int [row*col]; int left=0; //左边界 int top=0; //上边界 int right=col-1; int down=row-1; int count=0; while(true){
//从左到右 for(int i=left;i<=right;i++){
res[count++]=matrix[top][i]; } if(++top>down) break; //从上到下 for(int i=top;i<=down;i++){
res[count++]=matrix[i][right]; } if(--right
=left;i--){
res[count++]=matrix[down][i]; } //从下向上 if(--down
=top;i--){
res[count++]=matrix[i][left]; } if(++left> right) break ; } return res; }}
你可能感兴趣的文章
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
昨夜今晨最大八卦终于坐实——人类首次直接探测到了引力波
查看>>
如何优雅、机智地和新公司谈薪水?
查看>>
为什么读了很多书,却学不到什么东西?
查看>>
长文干货:如何轻松应对工作中最棘手的13种场景?
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.147 - LeetCode1108
查看>>
No.174 - LeetCode1305 - 合并两个搜索树
查看>>
No.175 - LeetCode1306
查看>>
No.176 - LeetCode1309
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
mysql:sql create database新建utf8mb4 数据库
查看>>
mysql:sql alter database修改数据库字符集
查看>>
mysql:sql drop table (删除表)
查看>>
mysql:sql truncate (清除表数据)
查看>>
scrapy:xpath string(.)非常注意问题
查看>>
yuv to rgb 转换失败呀。天呀。谁来帮帮我呀。
查看>>
yuv420 format
查看>>