首页 > 编程语言 > 详细

[算法学习] [006] - 56. 螺旋矩阵 - 力扣打卡

时间:2021-03-17 14:56:44      阅读:15      评论:0      收藏:0      [点我收藏+]

56. 螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

示例 1:

技术分享图片

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        if(matrix.length == 0 || matrix[0].length==0)
            return new ArrayList();
        int size = matrix.length*matrix[0].length;
        List<Integer> result = new ArrayList(size);
        for(int top=0, bot=matrix.length, left=0, right=matrix[0].length;
            result.size()!=size;
            top++, bot--, left++, right--){
            for(int i=top,j=left;j<right;j++){
                result.add(matrix[i][j]);
            }
            for(int i=top+1,j=right-1;i<bot;i++){
                result.add(matrix[i][j]);
            }
            for(int i=bot-1,j=right-2;j>left&&i>top;j--){
                result.add(matrix[i][j]);
            }
            for(int i=bot-1,j=left;i>top&&j<right-1;i--){
                result.add(matrix[i][j]);
            }
        }
        return result;
    }
}

技术分享图片

 

  最近有点忙,抽空写得,但是我也太菜了,思路没问题,但是循环的边界控制有问题,一个一个试用例调整才修改好。

 

[算法学习] [006] - 56. 螺旋矩阵 - 力扣打卡

原文:https://www.cnblogs.com/wdx0/p/14548249.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!