[力扣 Hot100]Day19 螺旋矩阵

题目描述

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。
在这里插入图片描述

出处

思路

用递归做,先输出最外层(顶行右列底行左列),再递归输出内层矩阵,对矩阵宽或高为1时进行特判并返回、

代码

class Solution {
   
private:
    void order(vector<vector<int>>& matrix, vector<int>& res,int x1,int y1,int x2,int y2){
   
        int w=x2-x1+1;
        int h=y2-y1+1;
        if(w==0||h==0) return;
        if(w==1){
   
            for(int i=y1; i<=y2; i++)
                res.push_back(matrix[i][x1]);
            return;
        }
        if(h==1){
   
            for(int i=x1; i<=x2; i++)
                res.push_back(matrix[y1][i]);
            return;
        }
        for(int i=x1; i<x2; i++)//top
            res.push_back(matrix[y1][i]);
        for(int i=y1; i<y2; i++)//right
            res.push_back(matrix[i][x2]);
        for(int i=x2; i>x1; i--)//bottom
            res.push_back(matrix[y2][i]);
        for(int i=y2; i>y1; i--)//left
            res.push_back(matrix[i][x1]);
        order(matrix,res,++x1,++y1,--x2,--y2);
    }
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
   
        vector<int> result;
        int m=matrix.size();
        int n=matrix[0].size();
        order(matrix, result,0,0,n-1,m-1);
        return result;
    }
};

相关推荐

  1. 100】54.螺旋矩阵

    2024-02-02 17:04:03       64 阅读
  2. [ Hot100]Day14 合并区间

    2024-02-02 17:04:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 17:04:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 17:04:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 17:04:03       82 阅读
  4. Python语言-面向对象

    2024-02-02 17:04:03       91 阅读

热门阅读

  1. Vue3: API参考整理(通用)

    2024-02-02 17:04:03       53 阅读
  2. 02. 【Linux教程】GNU 项目简介

    2024-02-02 17:04:03       48 阅读
  3. 计算机网络(第六版)复习提纲21

    2024-02-02 17:04:03       53 阅读
  4. webpack环境配置

    2024-02-02 17:04:03       55 阅读
  5. 2024美赛C题思路/代码:网球中的动量

    2024-02-02 17:04:03       56 阅读
  6. OpenStack平台镜像优化

    2024-02-02 17:04:03       49 阅读
  7. Vue中的插槽Slot的使用说明

    2024-02-02 17:04:03       55 阅读