LeetCode54:螺旋矩阵

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

示例
在这里插入图片描述
在这里插入图片描述
解题思想
模拟
在这里插入图片描述
循环一圈 后
在这里插入图片描述
跳出循环的条件:左边界>右边界 或者 上边界 > 下边界
在这里插入图片描述
代码

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        vector<int> ans;
        int n = matrix.size(), m = matrix[0].size();  //n行,m列
        int up = 0, left = 0, bottom = n - 1, right = m - 1;
        
        while (true) {
            for (int i = left; i <= right; i++) ans.push_back(matrix[up][i]);
            if (++up > bottom) break;

            for (int i = up; i <= bottom; i++) ans.push_back(matrix[i][right]);
            if (--right < left ) break;

            for (int i = right; i >= left; i--) ans.push_back(matrix[bottom][i]);
            if (--bottom < up) break;

            for (int i = bottom; i >= up; i--) ans.push_back(matrix[i][left]);
            if (++left > right ) break;
            
        }
        return ans;
    }
};

相关推荐

  1. LeetCode 54. 螺旋矩阵

    2024-03-10 12:56:05       20 阅读
  2. Golang leetcode59 螺旋矩阵

    2024-03-10 12:56:05       34 阅读
  3. LeetCode59 螺旋矩阵 II

    2024-03-10 12:56:05       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 12:56:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 12:56:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 12:56:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 12:56:05       18 阅读

热门阅读

  1. Jetty的ssl模块

    2024-03-10 12:56:05       22 阅读
  2. Linux的环境安装以及项目部署

    2024-03-10 12:56:05       20 阅读
  3. WPF Interaction

    2024-03-10 12:56:05       21 阅读
  4. 当Github启用PSA之后...

    2024-03-10 12:56:05       18 阅读
  5. 鸿蒙 进程模型-公共事件

    2024-03-10 12:56:05       19 阅读
  6. 解释 Git 的基本概念和使用方式

    2024-03-10 12:56:05       21 阅读
  7. VGG16-CF-VGG11实验报告

    2024-03-10 12:56:05       23 阅读
  8. vscode中开发goalng,debug时遇到的tools报错问题

    2024-03-10 12:56:05       22 阅读
  9. 用spark进行数据查询常用语法总结

    2024-03-10 12:56:05       23 阅读