螺旋矩阵~

简介: 螺旋矩阵~
class Solution {

    public List<Integer> spiralOrder(int[][] matrix) {

        List<Integer> order = new ArrayList<Integer>();

        if(matrix == null || matrix.length == 0 || matrix[0].length == 0){

            return order;

        }

        int rows = matrix.length;

        int colums = matrix[0].length;

        int left = 0, right = colums-1,top = 0 , bottom = rows-1;

        while(left<=right && top <= bottom ){

            for (int column = left; column <= right;column++){

                order.add(matrix[top][column]);

            }

            for(int row = top+1; row<=bottom; row++){

                order.add(matrix[row][right]);

            }

            // 检查是否需要继续遍历,如果当前区域不是一个行或列,则执行内部的遍历。

            if(left<right && top<bottom){

                //  从右到左遍历当前下边界,将元素添加到列表中

                for(int column = right-1 ; column>left ; column--){

                    order.add(matrix[bottom][column]);

                }

                for(int row = bottom; row>top; row--){

                    order.add(matrix[row][left]);

                }

            }

            // 更新边界值,缩小遍历区域。

            left++;

            right--;

            top++;

            bottom--;

        }

        //  返回按照螺旋顺序遍历矩阵后得到的整数列表

        return order;

    }

}


相关文章
|
1月前
|
C++
Leetcode第54题(螺旋矩阵)
这篇文章介绍了LeetCode第54题“螺旋矩阵”的解题思路和C++的实现代码,该题目要求按照顺时针螺旋顺序返回给定矩阵中的所有元素。
15 1
Leetcode第54题(螺旋矩阵)
|
1月前
【LeetCode 05】螺旋矩阵II总结
【LeetCode 05】螺旋矩阵II总结
14 0
|
1月前
|
算法 C++
Leetcode第59题(螺旋矩阵2)
这篇文章介绍了解决LeetCode第59题“螺旋矩阵II”的算法,通过C++编程实现按顺时针顺序填充一个n x n的正方形矩阵。
15 0
|
3月前
|
存储 算法
LeetCode第54题螺旋矩阵
LeetCode第54题"螺旋矩阵"的解题方法,通过模拟从外到内的螺旋遍历过程,并利用方向向量控制遍历方向的转换,有效输出矩阵的螺旋顺序。
LeetCode第54题螺旋矩阵
|
3月前
|
算法
LeetCode第59题螺旋矩阵 II
LeetCode第59题"螺旋矩阵 II"的解题方法,通过模拟螺旋填充过程,一圈一圈从外到内按顺序填充数字,直到完成整个矩阵的构建。
LeetCode第59题螺旋矩阵 II
|
机器学习/深度学习
【N皇后】
【N皇后】
|
6月前
|
Java C++ Python
leetcode-59:螺旋矩阵 II
leetcode-59:螺旋矩阵 II
34 0
|
6月前
leetcode-54:螺旋矩阵
leetcode-54:螺旋矩阵
38 0
|
算法 安全 Swift
LeetCode - #59 螺旋矩阵 II
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
LeetCode - #59 螺旋矩阵 II
|
算法 安全 Swift
LeetCode - #54 螺旋矩阵
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
LeetCode - #54 螺旋矩阵