• Java实现 LeetCode 54 螺旋矩阵


    54. 螺旋矩阵

    给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。

    示例 1:

    输入:
    [
    [ 1, 2, 3 ],
    [ 4, 5, 6 ],
    [ 7, 8, 9 ]
    ]
    输出: [1,2,3,6,9,8,7,4,5]
    示例 2:

    输入:
    [
    [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 List<Integer> spiralOrder(int[][] matrix) {
            List<Integer> result = new LinkedList<>();
            if(matrix.length==0)    return result;
            int upBound = 0;
            int rightBound = matrix[0].length-1;
            int leftBound = 0;
            int downBound = matrix.length-1;
            while(true){
                for(int i=leftBound; i<=rightBound; ++i)    
                    result.add(matrix[upBound][i]);
                if(++upBound>downBound) break;
                for(int i=upBound; i<=downBound; ++i)   
                    result.add(matrix[i][rightBound]);
                if(--rightBound<leftBound)  break;
                for(int i=rightBound; i>=leftBound; --i)   
                    result.add(matrix[downBound][i]);
                if(--downBound<upBound) break;
                for(int i=downBound; i>=upBound; --i)   
                    result.add(matrix[i][leftBound]);
                if(++leftBound>rightBound)  break;
            }
            return result;
        }
    }
    
  • 相关阅读:
    单片机4*4按键数码管显示0-9
    netbeans设置语言
    单片机中断的应用
    Linux 命令总结
    vc6.0快捷键大全
    怎么使PUTTY一直连接
    mysql alter 效率
    treeview
    Gitbook
    linux 进程监控软件 supervisor
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13075667.html
Copyright © 2020-2023  润新知