力扣HOT100 - 54. 螺旋矩阵

解题思路:

设置四个边界

java 复制代码
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        if (matrix.length == 0) return new ArrayList<Integer>();
        int l = 0;
        int r = matrix[0].length - 1;
        int t = 0;
        int b = matrix.length - 1;
        List<Integer> res = new ArrayList<>();

        while (true) {
            for (int i = l; i <= r; i++) res.add(matrix[t][i]);
            if (++t > b) break;
            for (int i = t; i <= b; i++) res.add(matrix[i][r]);
            if (--r < l) break;
            for (int i = r; i >= l; i--) res.add(matrix[b][i]);
            if (--b < t) break;
            for (int i = b; i >= t; i--) res.add(matrix[i][l]);
            if (++l > r) break;
        }
        return res;
    }
}
相关推荐
熊猫片沃子3 分钟前
Mybatis中进行批量修改的方法
java·后端·mybatis
这张生成的图像能检测吗10 分钟前
(论文速读)探索多模式大型语言模型的视觉缺陷
人工智能·深度学习·算法·计算机视觉·语言模型·自然语言处理
এ᭄画画的北北21 分钟前
力扣-49.字母异位词分组
算法·leetcode
设计师小聂!21 分钟前
力扣热题100-------169.多数元素
java·数据结构·算法·leetcode·多数元素
26 分钟前
LeetCode Hot 100 买卖股票的最佳时机
算法·leetcode·职场和发展
一只叫煤球的猫27 分钟前
基于Redisson的高性能延迟队列架构设计与实现
java·redis·后端
WhyWhatHow33 分钟前
JEnv:新一代Java环境管理器,让多版本Java管理变得简单高效
java·后端
海绵波波10743 分钟前
基于OpenCV的cv2.solvePnP方法实现头部姿态估计
人工智能·opencv·算法
保加利亚的风44 分钟前
【Java】使用FreeMarker来实现Word自定义导出
java·word
SteveCode.1 小时前
SpringBoot 2.x 升 3.x 避坑指南:企业级项目的实战问题与解决方案
java·spring boot