54. 螺旋矩阵

1. 题目

54. 螺旋矩阵 - 力扣(LeetCode)

2. 解题思路

  • 用四个边界变量:
    • left(左边界)
    • right(右边界)
    • up(上边界)
    • down(下边界)
  • 每次按照顺时针方向走一圈:左→右 → 上→下 → 右→左 → 下→上
  • 每走完一条边,就把对应的边界向内收缩。
  • 每次收缩后立刻检查是否交叉(即越界),如果交叉说明遍历完了,就 break。

3. 代码

3.1. 完整代码

java 复制代码
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;

        int left = 0;
        int right = n-1;
        int up = 0;
        int down = m-1;
        List<Integer> res = new ArrayList<>();

        while (true) {
            //1. 从左往右
            for (int i = left; i <= right; i++) {
                //行不变
                res.add(matrix[up][i]);
            }
            up++;
            if (up > down) {
                break;
            }
            //2. 从上往下
            for (int i = up; i <= down; i++) {
                //列不变
                res.add(matrix[i][right]);
            }
            right--;
            if (right < 0 || left > right) {
                break;
            }
            //3. 从右往左
            for (int i = right; i >= left; i--) {
                //行不变
                res.add(matrix[down][i]);
            }
            down--;
            if (down < 0 || up > down) {
                break;
            }
            //4. 从下往上
            for (int i = down; i >= up; i--) {
                //列不变
                res.add(matrix[i][left]);
            }
            left++;
            if (left > right) {
                break;
            }
        }
        return res;

    }
}

3.2. 注意点

相关推荐
Kobebryant-Manba15 小时前
IEKT向量矩阵流程&评估
人工智能·算法·矩阵
学习论之费曼学习法2 天前
无人值守AI内容矩阵实战(10):Windows 上让 Python 进程 7×24 活着
人工智能·windows·python·矩阵·powershell·进程守护
zhongben_keji3 天前
家政小程序开发全解:经营模式、品类矩阵、派单约束与信用核验
线性代数·矩阵·apache
silvamux_3 天前
微头条爆款体平台适配实测:把交付要求变成可计算的指标
java·线性代数·算法·决策树·矩阵
zyseo83 天前
谷歌SEO 关键词研究完整方法论:从种子词到优先级矩阵
数据库·人工智能·矩阵
lvwangshu3 天前
P15569 [COCI 2025/2026 #5] 结构 / Struktura 题解
矩阵·题解·dp·推导题·矩阵加速
镜子AI4 天前
镜子AI工程实践:用 Python 自动生成 GEO 问答语料与意图覆盖矩阵(零依赖)
人工智能·python·矩阵
学习论之费曼学习法4 天前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵
晒太羊的猫5 天前
hot100矩阵问题
线性代数·矩阵
轻口味5 天前
启元无真机二开实战1:54 个接口能做什么、不能做什么——启元 Q1/T1 SDK 能力全景与版本矩阵
线性代数·矩阵·ros2·具身智能·启元机器人